Four out of five people want the legal smoking age to be raised from 16 to 18 to deter young people from taking up the habit, a BBC poll suggests.
Two thirds backed a smoking ban in pubs
ICM conducted the nationwide phone poll of 1,010 adults in England, Wales and Scotland between 20 and 22 August.
The majority of people believed raising the age at which teenagers could buy cigarettes would deter them from taking up the habit.
A slight majority thought the age limit should be raised to 21.
The BBC's Healthy Britain poll questioned people about a range of public health issues. Further data will be revealed later this week.
The survey found the public also backed tough measures to reduce the numbers of children who smoke.
HEALTH POLL: SMOKING
Key findings from the BBC's poll on attitudes to public health
Of those questioned, 93% supported increasing and enforcing the penalties for selling tobacco to children, and two thirds said parents who consistently allow their under-age children to smoke should ultimately face prosecution.
Just over half also thought smoking should be made more expensive, and three-quarters said there should be more spent on anti-smoking publicity campaigns.
The government is currently considering whether smoking should be restricted in the workplace, including pubs and clubs.
Its decision will be revealed in a Public Health White Paper, due to be published this autumn.
In the BBC survey, two thirds of those questioned were in favour of such a ban.
But while 69% thought government should be trying to change people's behaviour on smoking - including half of the smokers questioned - 64% think that whether or not people smoke is a matter for them.
Melanie Johnson, the public health minister, told the BBC progress had already been made in cutting smoking among young teenagers.
However, she said public feedback to the government's consultation on public health had not indicated that raising the legal smoking age was a particular priority.
Dr Vivienne Nathanson, of the British Medical Association, said: "The best way to prevent young people from smoking is to ban smoking in enclosed public places, increase taxation on cigarettes and enforce exisiting age limit legislation.
"What we need to concentrate on is where one person's "enjoyment" harms others and this means the government showing leadership and following the
examples of Ireland and Norway."
A spokesman for the group Action on Smoking and Health said: "We are strongly against young people smoking or buying cigarettes for others.
But he said simply raising the legal age for buying cigarettes may not have much effect.
"Teenagers are notoriously sharp at getting round such restrictions and they would be hard to enforce.
"More important may be to stop smoking being seen as a desirable and adult thing to do - stop adults smoking and teenagers are much less likely to start. That's one reason why we see ending smoking at work as a top priority."
Daniel Jones, 16, started smoking when he was 12. He now smokes 20 cigarettes a day. He did not think raising the age restriction would make any difference.
"Raising the age isn't going to stop people buying cigarettes from the shop," he said.
Simon Clark, of the smokers' rights group Forest, said, while it supported "reasonable measures that made it more difficult for people under 18 to buy tobacco.
He added: "However, the suggestion that the age limit be raised to
21 shows how hysterical the smoking debate has become.
"The law needs to be consistent. At present you can have sex at 16, drive a car at 17, and drink alcohol in a pub at 18. Some people would even like to lower the voting age from 18 to 16.
"There needs to be a clear point at which children are legally declared to be adults and are therefore considered mature enough to make their own decisions about their health and lifestyle."