This has been a quick and brutal election campaign, which has often veered into personal insults and allegations of widespread lies. It has also been divisive, with many people who were staunchly dedicated to one side openly considering a switch because of their party's position on Brexit.
Here's how the campaigns have been going so far:
Boris Johnson has staked his political career on 'getting Brexit done' (Credit: AP)
The Conservative Party:
The incumbent prime minister, Boris Johnson, was desperate for this election – he needed it, because he staked his political career on "getting Brexit done" (that's one of the Conservatives' main slogans, repeated in almost every interview.) He needs a majority to do this but hasn't had one, which is why his Brexit legislation has stalled, with what he calls "a remain parliament" continually blocking it. And that's why he's taking the country to the polls on 12 December.
The Conservatives have talked about 50,000 extra nurses for the National Health Service (NHS), new hospitals and thousands of extra police on the streets and other social policies which have grabbed headlines and should win votes. But, make no mistake, this is very much a Brexit election for Johnson.
The party has been ahead in the polls with a feeling that it's Johnson's to lose. His PR team have carefully shielded him from several key interviews – notably one with BBC veteran interrogator Andrew Neil and a leaders' debate on climate change on the Channel 4 network – saying he just doesn't have time to appear everywhere.
But his reticence to make himself accountable has led to allegations that his numbers don't add up and he's either untrustworthy or scared of scrutiny – something he vehemently denies.
Jeremy Corbyn has pushed his policies of more equal social care, higher taxes for higher earners and renationalization of some industries. (Credit: AP)
The Labour Party:
Labour leader Jeremy Corbyn is a party stalwart. As Labour moved to a more central position in recent decades, he stayed firmly to the left. Elected to the top job in a surprise vote in 2015, he's achieved a cult-like status with many young voters who see his policies of more equal social care, higher taxes for higher earners and renationalization of some industries as real change.
But his party has been dogged by several scandals – notably, allegations of anti-Semitism, which several complainants say have been left unresolved. The situation got so bad that there were prominent resignations by MPs, an apology from Corbyn's deputy chancellor and even an attack on Labour by the UK's chief rabbi.
Corbyn has also been accused of dithering over Brexit after refusing to say whether he is for or against leaving the EU – instead saying he will remain neutral on the issue. His party is split on Brexit with many falling either side of the debate.
The Labour leader is behind in the polls, but many voters remain undecided. They could be the difference between Corbyn defying the polls and reaching 10 Downing Street or remaining firmly as opposition leader.
Jo Swinson's party could hold the balance of power. (Credit: AP)
The Liberal Democrats:
No ambiguity here on where they stand – the Liberal Democrats are aiming themselves squarely at the remain vote, promising to go beyond a second referendum. Leader Jo Swinson says if she's elected prime minister, she will immediately revoke Article 50 (the legislation that was triggered to begin the Brexit process). It means the UK would continue its EU membership.
Swinson has spent months talking about how she would govern as prime minster, but has now acknowledged it's unlikely the Lib Dems will win a majority on Thursday, with the party potentially acting as so-called "king-makers." If the Conservatives lose and the UK ends up with a hung parliament, Swinson's party could hold the balance of power by deciding who to help get into 10 Downing Street. She has been boosted by prominent Conservatives telling people to vote for the Liberal Democrats or "other non-Brexit-supporting parties."
The issue here is that she doesn't trust Corbyn and has said she wouldn't go into a partnership with him, although she has hinted could form a coalition with another Labour leader. But that would take either Corbyn quitting or being unseated, over which she has no control.
Nicola Sturgeon wants a second independence vote for Scotland. (Credit: AP)
Scottish National Party (SNP):
Leader Nicola Sturgeon has dedicated her life to independence for Scotland and her country seceding from the Union that forms the United Kingdom. The SNP lost an independence referendum in 2014, acknowledging that it was a once-in-a-generation event.
But then Brexit happened, and that's given the SNP leader renewed vigor and, according to Sturgeon, a new mandate for a second independence vote.
Scotland overwhelmingly voted to remain in the EU, but as part of the UK, it faces being taken out of Europe against its wishes by a Conservative-led government in Westminster. And that's why she's expecting the SNP to do well in Scotland, where she already serves as first minister.
The Conservatives are deeply unpopular in Scotland going back to the leadership of former prime minister Margaret Thatcher, which means they are unlikely to do well there, especially because of Johnson's pro-Brexit stance. Labour will be campaigning hard, but Sturgeon knows that if the SNP does well, it could be her support that props up a Labour-led coalition. She's not ruled this out, but has told Corbyn not to bother picking up the phone unless he can guarantee another Scottish independence referendum. This is her leverage. She has categorically ruled out helping the Conservatives.
Democratic Unionist Party (DUP):
The DUP is a prominent force in Northern Ireland, but it was the last general election in 2017 that really gave them clout at Westminster. Former prime minister Theresa May called a snap election to increase her majority and make it easier to get her Brexit deal through parliament. But she was in for a massive shock. The Conservatives lost seats, which meant they needed a partner to help give the party the majority to rule. The DUP offered, with certain caveats, which included extra funding from Westminster.
But the DUP feels it has been sold out by Johnson's Brexit deal with the EU, which would put a customs border in the Irish Sea, effectively putting Northern Ireland under different rules from the rest of Great Britain. If Johnson needs help after this election, he will have to almost certainly look elsewhere. DUP leader, Arlene Foster, says he broke his word and she would struggle to trust him again. That said, if push comes to shove and either Johnson or Corbyn need her party's help, she may find herself in a very strong position once again.
The Brexit Party:
The baby of Nigel Farage, this was his attempt to get Brexit through. Farage has spent years trying to get the UK out of Europe – first as leader of the UKIP party, then the Brexit Party – but it's started to come off the rails in recent weeks. Initially he threatened to stand candidates in every single seat in the country and take votes from the Conservative party, but Farage has now switched tactics to mainly challenging Labour and the Liberal Democrats, both of which he sees as potentially thwarting his lifelong dream of taking the UK out of the bloc. In recent weeks, a handful of his star candidates have defected, urging voters to back the Conservatives.
Johnson's Brexit deal is a hard pill for Farage to swallow – he calls it a "treaty" rather than a Brexit, with the details far removed from the "clean break" he has long campaigned for. But he may find it's a case of favoring the least-worst option in the end.
Plaid Cymru:
Wales voted to leave the EU in 2016, but that's not a position echoed by its national party, Plaid Cymru. It wants a "final-say" referendum, and would actively campaign for Wales to stay in the bloc.
Like the SNP, it wants independence, but finds itself in a weaker position than Sturgeon's party. It is likely to do well in Wales, but unlikely to be crucial to forming a government if either main party needs help with numbers and other parties are telling voters that a vote for Plaid Cymru would be a wasted vote.
The Green Party:
Like Plaid Cymru, the claim is that a vote for the Greens would be a wasted vote. But for those Remain-loyalists who don't want to vote for the Liberal Democrats or can't vote for the SNP or Plaid Cymru because of where they live, the Green Party could be a credible alternative. They are pro-remain but haven't vowed to revoke article 50, instead promising to hold another referendum, which is a softer position than the Liberal Democrats. As its name suggests, environmental issues are in the party's DNA and with growing awareness of climate change and a desire to slow its effects, it could be more of a disrupter in this election than had previously been thought.