It is a remarkable result for Jeremy Corbyn and the Labour Party, who didn’t seem to have a prayer a matter of weeks ago.
Just over two months ago, Theresa May called for a General Election with the aim of strengthening her hand in Brexit negotiations.
She was soaring ahead in the opinion polls, and it looked a no-brainer that she would emerge with a comfortable victory.
Well that appears to have been blown completely out of the water as the results came through last night.
There are now calls for May to resign as PM, and you can see why people are calling for her head.
It is a gamble that has backfired almost as spectacularly as David Cameron’s EU referendum last year.
She will continue for now, but the seeds of doubt have well and truly been sewn.
Her lack of appearance on a TV debate and cuts to police numbers are two huge reasons why the results may have turned out as they have.
There was also an air of complacency about the campaign, which is already being talked about as one of the worst the Conservatives have ever had.
Meanwhile, Corbyn’s positive campaign for change, and his mobilisation of young voters looks like it has been a winner.
The Tories have fallen short of a majority, so it looks like they may have to work with the DUP in order to form a Government.
It is very much a return to two-party politics, with UKIP seeing massive cuts in their support.
The SNP also lost 19 seats, and while they still ‘won’ Scotland, their support in Westminster has been diminished. The Lib Dems gained a handful of seats but after they got burned the last time they formed a coalition, they look unlikely to be in power for some time.
Politics has provided plenty of shocks over the past few years, and it wouldn’t be a surprise if another election was called in the next year or two.