Boris Johnson will return to Downing Street with a big majority after the Conservatives swept aside Labour in its traditional heartlands.
With just a handful of seats left to declare in the general election, the BBC forecasts a Tory majority of 78.
The prime minister said it would give him a mandate to “get Brexit done” and take the UK out of the EU next month.
Jeremy Corbyn said Labour had a “very disappointing night” and he would not fight a future election.
The BBC forecast suggests the Tories will get 364 MPs, Labour 203, the SNP 48, the Lib Dems 12, Plaid Cymru four, the Greens one, and the Brexit Party none.
That means the Conservatives will have their biggest majority at Westminster since Margaret Thatcher’s 1987 election victory.
Labour, which has lost seats across the North, Midlands and Wales in places which backed Brexit in 2016, is facing its worst defeat since 1935.
Mr Johnson has addressed cheering party workers at Conservative headquarters, telling them there has been a political earthquake, with the Tories winning a “stonking” mandate, from Kensington to Clwyd South.
Speaking earlier at his count in Uxbridge, west London, where he was elected with a slightly higher majority, Mr Johnson said: “It does look as though this One Nation Conservative government has been given a powerful new mandate to get Brexit done.”
He added: “Above all I want to thank the people of this country for turning out to vote in a December election that we didn’t want to call but which I think has turned out to be a historic election that gives us now, in this new government, the chance to respect the democratic will of the British people to change this country for the better and to unleash the potential of the entire people of this country.”
Mr Johnson became prime minister in July without a general election, after the Conservative Party elected him as leader to replace Theresa May.
Speaking at his election count in Islington North, where he was re-elected with a reduced majority, Mr Corbyn said Labour had put forward a “manifesto of hope” but “Brexit has so polarised debate it has overridden so much of normal political debate”.
Labour’s vote is down around 8% on the 2017 general election, with the Tories up by just over 1% and the smaller parties having a better night.
In other developments:
- Jo Swinson – who only became Lib Dem leader in July and began the election campaign by saying she aimed to be prime minister – lost her Dunbartonshire East seat to the SNP by 149 votes
- Sir Ed Davey and Lib Dem president Sal Brinton are taking over as interim party leaders
- Nigel Dodds, the leader of the Democratic Unionist Party at Westminster, lost his Belfast North seat to Sinn Fein
- The Lib Dems took Richmond Park, south-west London, from Conservative minister Zac Goldsmith
- Labour’s Caroline Flint – who backed the Tory Brexit deal in defiance of her party – lost in Don Valley to Mr Johnson’s party
- Labour’s longest-serving MP Dennis Skinner also lost his seat to the Conservatives
- Remain-backing former Tory minister Dominic Grieve came second to the Conservative candidate in Beaconsfield
- Anna Soubry, who quit the Tories to form a pro-Remain group of MPs, lost her Nottinghamshire seat to the Tories
- It was also a bad night for new Lib Dem recruits, with ex-Labour MPs Chuka Umunna and Luciana Berger, and former Tory minister Sam Gyimah failing to win a seat
The result so far is remarkable for the Conservatives – better than many of them had hoped for.
They have won a majority which will allow Boris Johnson to make sure Brexit happens next month.
There were some astonishing results, with a number of historic Labour heartlands falling to the Conservatives.
Labour, by contrast, could hardly be in a worse position.
Jeremy Corbyn has made it clear he will go before the next election – but he wants to stay for a period of reflection. Many in his party want him to go immediately.
In Scotland, the picture is quite different.
The SNP have come close to sweeping the board – gaining seats from all their rivals.
A Tory majority at Westminster means one constitutional quarrel – Brexit – might be over, but another – on Scottish independence – will be back with a vengeance.
Scottish National Party leader and Scotland’s First Minister Nicola Sturgeon said it had been an “exceptional night” for her party.
She said Scotland had sent a “very clear message” that it did not want a Boris Johnson Conservative government and the prime minister did not have a mandate to take Scotland out of the EU.
It was also a “strong endorsement” for Scotland having a choice over its own future in an another independence referendum, she added.
Labour looks set for one of its worst election results since World War Two.
Some traditional Labour constituencies, such as Darlington, Sedgefield and Workington, in the north of England, will have a Conservative MP for the first time in decades – or in the case of Bishop Auckland and Blyth Valley – for the first time since the seat was created.
Labour took Putney, in south-west London, from the Tories, in a rare bright spot for Jeremy Corbyn’s party.
A row has already broken out at the top of the Labour Party, with some candidates blaming Jeremy Corbyn’s unpopularity on the doorstep and others blaming the party’s policy of holding another Brexit referendum.
Leave-supporting Labour chairman Ian Lavery, who held his seat with a reduced majority, said he was “desperately disappointed”, adding that voters in Labour’s “heartlands” were “aggrieved” at the party’s Brexit stance.
Downing Street said earlier that if Mr Johnson was returned to Downing Street, there would be a minor cabinet reshuffle on Monday.
The Withdrawal Agreement Bill, paving the way for Brexit on 31 January, would have its second Commons reading on Friday, 20 December.
A major reshuffle would take place in February, after the UK has left the EU, No 10 added, with a Budget statement in March.
This is the UK’s third general election in less than five years – and the first one to take place in December in nearly 100 years.
Mr Johnson focused relentlessly on a single message, to “get Brexit done”, while Labour primarily campaigned on a promise to end austerity by increasing spending on public services and the National Health Service.
Nigel Farage said his Brexit Party had taken votes from Labour in Tory target seats, although he himself had spoiled his ballot paper “as I could not bring myself to vote Conservative”.