Prime Minister Tony Blair has given in to backbench pressure for a free vote on smoking when the Health Bill is passed within the next few weeks.
The concession comes after rebel Labour MPs last night turned the screws on the Government by tabling an amendment calling for a comprehensive ban on smoking in England.
The Health Bill, which has just left committee stage, is expected to receive its third and final reading in the House of Commons at the start of February.
A total of 101 MPs had already signed a motion calling for a free vote on smoking for England, showing clear support for Caterer's Stub out Smoking campaign.
High profile supporters of a total ban include Kevin Barron, chairman of the influential Health Select Committee on smoking, which last month slammed a partial ban as "unfair, unjust, inefficient and unworkable".
Health Secretary Patricia Hewitt told the BBC that she will vote for a full ban against her own department's official policy.
Cancer Research chief executive Alex Markham said: "MPs now have the monumental opportunity to represent majority opinion and to improve the health of the nation."
Conservative shadow health secretary Andrew Lansley added: "We are delighted the Government has followed the Conservative Party's lead and allowed its MPs a free vote on smoking in public places."
Official proposals for smoking in England would see it banned in all enclosed public places from the middle of 2007, but allowed to continue in pubs and private clubs that did not serve food.
By Chris Druce