A blanket ban on smoking in pubs and private clubs was approved by a massive margin of 200 MPs, including Health Secretary Patricia Hewitt.
It was backed by 384 votes to 184 last night.
Prime Minister Tony Blair was also reported to have joined those using a "free" vote to overturn his own Government's policy of exempting private clubs and those pubs that do not serve food.
Labour's manifesto promised a partial ban, but MPs were freed from the shackles of the party whip when it became clear the Government faced near-certain defeat. Pressure from anti-smoking and health groups was amplified by an influential Labour-dominated committee which said total prohibition was the "only effective means" of protecting public health.
Chancellor Gordon Brown had indicated he backed sticking to the manifesto pledge, understood to have been crafted by Defence Secretary John Reid when he held the health brief.
The policy is thought to have been the subject of intense argument within the cabinet, with Ms Hewitt arguing for a more extensive bar on cigarette smoking.
She argued for the partial ban as the Health Bill went through the Commons but changed her stance once the free vote was allowed.
Shadowhealthsecretary Andrew Lansley said the climbdown was a "humiliation"
Comments: Our rules
We want our comments to be a lively and valuable part of our community - a place where readers can debate and engage with the most important local issues. The ability to comment on our stories is a privilege, not a right, however, and that privilege may be withdrawn if it is abused or misused.
Please report any comments that break our rules.
Read the rules hereComments are closed on this article