The leaders of all three main political parties supported the vote for equality along with most of the Cabinet.
The reform passed the House of Commons by 336 votes to 129, causing a round of applause in the Chamber at the end of three and a half hours of often heated and sometimes emotional debate.
It will now face opposition in the House of Lords, where bishops and other Christian peers will argue that it should be dropped. But with a large majority of the Commons in favour of the move it is only a matter of time before it becomes law.
Groups which have pressed for equal rights for gays and lesbians held a vigil outside Parliament as the vote took place.
However, moves to stop adults from having sex with youngsters under 18 in their care were defeated by 234 votes to 194. The Home Office minister Alun Michael said the Government sympathised with the demand from backbench MPs of all parties, but wanted to bring forward its own proposals.
The vote on the age of consent last night was a free one, with MPs allowed to choose on the basis of their own consciences. Most of the Cabinet voted in favour, though neither David Blunkett, the Secretary of State for Education and Employment, nor Ann Taylor, the Leader of the House, voted. Tony Blair and Paddy Ashdown voted for the measure, but William Hague was unable to attend because he had flu.
Ann Keen, Labour MP for Brentford and Isleworth who proposed lowering the age of consent, said it was a fundamental issue of democracy and equality. "It cannot be the role of the state to work out people's sexuality for them. It is for individuals to work out for themselves. The purpose of the criminal law in this area should not be to put police into bedrooms," she said.
Mr Michael said he would vote in favour of the measure as would the Home Secretary, Jack Straw. "These are not issues for any sexual interest, but for the whole of society. They touch on how we treat other people, on the responsibility we show to others in return for the rights we all expect for ourselves," he said.
The only Labour member to speak against the measure was Middlesbrough MP Stuart Bell, who represents the Church Commissioners in the House. Two Tories, Eleanor Laing from Epping Forest and Sir Peter Lloyd from Fareham, spoke in favour and a third, Shaun Woodward of Witney, supported Ms Keen's motion.
"This is a further undermining of family life which has been and will continue to be the basis of our society," he said.
Nicholas Winterton, the Conservative member for Macclesfield, told MPs that homosexuality was abnormal. "If the Lord Almighty had meant men to commit sodomy with other men their bodies would have been built differently."
Bishops continued to speak out against the change in the age of consent yesterday after a weekend statement opposing it. They also supported the attempt by Joe Ashton, the Labour MP for Bassetlaw, to raise the age to 18 in care homes and schools.
The head of the Roman Catholic Church in England and Wales, Cardinal Basil Hume, reiterated his opposition to lowering the age of consent. "Whatever the legal age of consent, the Catholic Church's teaching remains that homosexual genital acts are morally wrong," he said in a statement.
The amendment to lower the age of consent applies to homosexual relations between males. There is no age of consent for sexual relations between females, who are not covered by law.
The amendment would lower the age of consent to 16 in England, Wales and Scotland. In Northern Ireland it would reduce it to 17 - the same as the age of consent for heterosexuals in the Province.Reuse content