Ministers agreed to pay pounds 150m for the destruction of up to 160,000 weapons, but were able to push through their measures only with Labour's backing. The ban was approved by 299 votes to 113.
The rebels, led by the former defence and agriculture minister Sir Jerry Wiggin, called for compensation for dealers, clubs and others who would be affected.
The Firearms (Amendment) Bill was drawn up after the Dunblane massacre to outlaw large-calibre handguns. It has met with widespread opposition from the gun lobby.
Sir Jerry is vice-chairman of the British Shooting and Sports Council and a council member of the National Rifle Association. He said the Bill would result in thousands of law-abiding people being deprived of their sport.
"That is both wrong and unfortunate, but, much more unfortunate, it will also deprive many dealers, manufacturers, agents, transport companies, suppliers and many others who make their livelihood out of the sport of shooting," he said.
"Natural justice demands that those people are entitled to receive proper compensation for assets which will be confiscated through no fault of their own." Sir Jerry described the moves as "theft by the state under the guise of law".
Replying for the Government against the rebels, Michael Howard, the Home Secretary, said there was " a clear distinction between paying compensation for guns and accessories on the one hand and wider business losses on the other." There was no precedent for paying compensation for consequent loss of business, he said.
The Government's stance was backed by Labour's Home Affairs spokesman Doug Henderson, who said: "If we accept that anyone who loses in anyway from any decision taken by this Parliament has a right to compensation, the list of persons and organisations coming forward would be limitless."
However, Conservative back-benchers were overwhelmingly hostile towards the move.
Michael Colvin, chairman of the Defence Select Committee, described the Government's planned compensation package as "nothing short of legalised robbery".
Edward Leigh, former trade and industry minister, described the Bill as "profoundly un-Tory." He added: "It is inimical to the principle ... that legislation should be tried and tested."
The anti-Government motion was backed by a number of MPs from both sides of the house. Among them were 22 from the Labour Party, 24 Liberal Democrats, three Ulster Unionists, two Plaid Cymru, and one Scottish Nationalist MP.
Among the Conservative MPs who defied the Government were Rupert Allason, the novelist and member for Torbay, Sir Rhodes Boyson, a former education minister and MP for Brent North, and Winston Churchill, MP for Davyhulme.Reuse content