The federal age requirement for buying cigarettes is 18, which some states previously raised to 19.
A spokeswoman for New York City council said the proposal was approved by 35 votes to 10.
New York was the pioneer of a ban on smoking in bars, restaurants and public places -- initially criticised -- but since adopted in cities across the West.
Cigarette taxes are also the highest in the US.
Authorities hope that raising the legal age for buying cigarettes will reduce the number of smokers aged 18-20 by 55 percent.
But the move will be unpopular among those who feel that outgoing Mayor Michael Bloomberg has already over-stepped the line between protecting public health and interfering with personal choice.
City hall has said that in 10 years the percentage of adults who smoke has fallen from 21.5 percent in 2002 to 14.8 percent in 2011.
Among young people it has remained unchanged since 2007, at 8.5 percent according to official statistics.