Image copyright Getty Images

MPs have backed controversial plans to build a third runway at London's Heathrow airport.

The government won a key vote in the Commons by 415 votes to 119 - a majority of 296.

Tory MPs were under orders to support the government - but Boris Johnson, a leading opponent of expansion, missed the vote because he was in Afghanistan.

Labour's official position was to oppose expansion, but its MPs were given a free vote. The SNP abstained.

How did the MPs vote on the Heathrow Expansion Bill? For: 415 Against: 119 Did not vote: 116 Did my MP vote For or Against the third runway at Heathrow? Enter your postcode, or the name or constituency of your MP Enter your postcode, or the name or constituency of your MP

The vote was welcomed by business group the CBI as "a truly historic decision that will open the doors to a new era in the UK's global trading relationships".

But Greenpeace UK said it was ready to join a cross-party group of London councils and the city's mayor, Sadiq Khan, in a legal challenge against the third runway.

And Friends of the Earth said in a statement: "MPs who backed this climate-wrecking new runway will be harshly judged by history.

"The evidence on the accelerating climate crisis, which is already hitting the world's most vulnerable people, is overwhelming - and expanding Heathrow will only intensify the misery."

Media playback is unsupported on your device Media caption John McDonnell makes an impassioned plea to halt Heathrow expansion

Environmental activists earlier staged a "lie-in" over Heathrow in Parliament's central lobby, just metres away from MPs preparing to vote on the proposals.

Police locked-down the area after 12 protesters, who described themselves as from a "pop-up" Vote No Heathrow campaign, sprawled across the floor chanting.

The government has pledged the airport will be built at no cost to the taxpayer, will create 100,000 jobs and will benefit the entire country, through guaranteed internal flights to the rest of the UK.

Image caption Boris Johnson, who has returned from a trip to Afghanistan, was criticised for missing the vote

Ministers also insist the project will have built-in environmental protections, with the ability to fine Heathrow or ground aircraft if promises on night flights and other contentious issues are broken.

Eight Conservative MPs voted against the government, including former cabinet ministers Justine Greening and Theresa Villiers, Greg Hands - who resigned last week as international trade minister - and Adam Afriyie, Sir David Amess, Bob Blackman, Zak Goldsmith and Matthew Offord.

More Labour MPs supported the government than backed their leader Jeremy Corbyn, who had opposed the expansion.

The development was supported by 119 Labour MPs, while 96 voted against the move.

MPs from across the political spectrum, some with constituencies on the Heathrow flight path, spoke out against the plan.

At the start of a four-hour debate, Transport Secretary Chris Grayling said Heathrow was "full" and a new runway was needed to secure "a clear path to our future as a global nation in the post-Brexit world."

Media playback is unsupported on your device Media caption Greg Hands: 'I made an unequivocal pledge' on Heathrow

But in an impassioned speech, Labour's shadow chancellor John McDonnell warned that villages that had existed for 1,000 years would be "wiped off the face of the earth" to enable a company to maximise its profits.

"There are human costs to this decision that this House needs to recognise and contemplate before they vote tonight to worry and blight my community once again on a programme that will never - pardon the pun - take off," he told MPs.

Opposition MPs shouted "Where's Boris?" as a Conservative MP who resigned from government over Heathrow expansion urged colleagues to join him in opposing a third runway.

Former International trade minister Greg Hands, who represents Chelsea and Fulham, raised concerns about air quality and night flights but said it was a "debate about being true to your word and to your election pledges".

Mr Johnson said following Mr Hands' example and quitting the government to vote against Heathrow would "achieve absolutely nothing," before departing on a trip to Afghanistan.