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.