MPs voted overwhelmingly to ban smoking in cars with children today, with advocates for the change securing a majority of 269 votes in favour.
The amendment to the children and families bill allows ministers to make the change to the law demanded by public health campaigners. Government sources suggested a ban would be in place before the next general election, probably in civil law.
"This is a great victory for child health which will benefit hundreds of thousands of young people across our country. It is a matter of child protection, not adult choice," shadow health minister Luciana Berger said.
"The will of parliament has been clearly expressed today and this must be respected. Ministers now have a duty to bring forward regulations so that we can make this measure a reality and put protections for children in place as soon as possible."
The amendment passed by 376 votes to 107.
Labour supported the ban en masse, while the Liberal Democrats and Conservatives were divided.
David Cameron, who previously expressed discomfort with the ban, could not attend the vote. Downing Street cited the need for him to visit flood-hit areas.
His spokesman said the prime minister believed "the time has come" for the ban.
Deputy prime minister Nick Clegg was opposed to the measure, as was business secretary Vince Cable – both on libertarian grounds.
They were joined by justice secretary Chris Grayling, who was concerned about how the law will be enforced. Communities secretary Eric Pickles was also opposed.
Boris Johnson used the occasion of the vote to signal a significant U-turn on his views on smoking.
The London mayor has always been a sceptic about the health effects of passive smoking and one of the few prominent politicians prepared to make well-publicised defences in the face of the anti-smoking lobby.
But his column in the Telegraph this morning dramatically turns away from his previous views and throws his support behind the ban.
"This law would give that smoker an extra legal imperative to obey their conscience and do the right thing," he said.
"I apologise to all my libertarian chums: I am afraid on this one I am firmly with the bossyboots brigade.
"Ban smoking with children in the car. It is a disgusting thing to do and endangers their health. The proposal before parliament is a good one that will save lives."
Most so-called free votes see varying levels of pressure applied on MPs to vote the way Downing Street wants, but was little enforcement of a particular view reported in this case.
However, the pressure on MPs to vote for a ban from outside parliament has been considerable.
Over 500 respiratory health professionals wrote an open letter to the British Medical Journal pushing them to "protect the wellbeing" of children on Friday.
A Department of Health spokesman said: "Second-hand smoke is harmful to children and it is right that this has been debated in Parliament. We will now determine how this amendment should be taken forward."