Britons go to the polls Thursday in the shadow of terrorism, in an election Prime Minister Theresa May once expected to win easily but has proved increasingly hard to predict.
When May called the snap vote in April, presenting herself as the strong leader to take Britain into Brexit talks, opinion poll ratings for the premier and her centre-right Conservative party were sky high.
But Islamist attacks in London and Manchester have put her under pressure over her six years as interior minister, while campaign missteps have dented her reputation as a safe pair of hands.
Meanwhile opposition Labour leader Jeremy Corbyn, an anti-war campaigner deemed unelectable by a majority of his own lawmakers, has run an energetic campaign promising change and an end to austerity.
While May has been touring target seats around the country, delivering slogan-heavy speeches to small groups of hand-picked activists, Corbyn has drawn large crowds to open-air rallies.
Polling experts -- many of whom failed to predict the referendum vote to leave the European Union last year -- are now wary of calling the outcome.
While most still expect a Conservative victory, predictions of the margin vary widely, and one shock forecast model even predicted May could lose her majority of 17 in the 650-seat House of Commons.
"I'd still put my money on a comfortable Tory win -- but who knows?" said Tim Bale, politics professor at Queen Mary University of London.
Speaking to reporters on her plane during a final burst of campaigning on Wednesday, May insisted she had no regrets about calling the vote three years early.
"I've enjoyed the campaign," she said. "There is a very clear choice for people when they come to vote, between the coalition of chaos of Jeremy Corbyn, or the strong and stable leadership with me and my team."
Asked what would constitute success, the 60-year-old vicar's daughter said: "I never predict election results."
Corbyn, a 68-year-old leftwinger who has never held ministerial office and defied the odds to win the Labour leadership two years ago, urged supporters in Glasgow to think big.
"Wouldn't it be great if on Friday we woke up to... a Labour government that will be a government for all of our communities across the whole of the country, to deliver that social justice that we all crave?" he said.
The election is May's first since taking office after Britons voted by 52 percent to leave the European Union, plunging their country into an uncertain future.
May has accused Corbyn of being unprepared for negotiations set to begin on June 19, and unwilling to curb mass migration -- a key driver of the Brexit vote.
But her government's record on cutting funding for health and education have also featured strongly in the campaign, to the benefit of Labour.
"Jeremy Corbyn just seems more for us," said 38-year-old Debbie Worthy, a mother-of-two in Middlesbrough, northern England.
The Conservatives were also damaged by a manifesto plan for elderly care that would see many people pay more.
Then came the suicide bombing at a Manchester concert on May 22, which killed 22 people including seven children, followed by Saturday's knife and van attack in London, which left eight dead.
Campaigning was twice suspended in the aftermath of the attacks, which May blamed on "evil" Islamist ideology.
The Conservatives have always been strong on defence and security, and they have sought to exploit Corbyn's anti-nuclear stance and his alleged past support for Irish paramilitaries.
"They're more experienced -- Jeremy Corbyn can't be trusted on security," said Talib Hussain, 46, a postmaster from Bradford in the northwest of England.
But May also faced uncomfortable questions over cuts to police numbers during her time as interior minister, amid accusations that the attackers in Manchester and London Bridge had slipped through the intelligence net.
Security on voting day was reviewed following the London attack, with the city's Metropolitan Police force implementing a "specialist and highly flexible operation" which it said could be deployed as needed.
Polls are open between 7:00am (0600 GMT) and 10:00pm.
An exit poll will give an indication of the outcome, although final results will not emerge until early Friday.
"When people ask me for a prediction, I have to say I know that I don't know," veteran BBC pollster David Butler said.
Eric Kaufmann, professor of politics at the University of London, predicted that May would increase her parliamentary majority by 25 seats -- not as much as she had hoped, but still a "pretty solid" win.
A final poll by YouGov on Wednesday put the Conservatives seven points ahead of Labour, while ICM gave May's party a 12-point lead over its rivals.
Such predictions stand in stark contrast to a Monday poll by Survation, which gave a narrow one-point gap.
As the Conservatives and Labour trade blows, the smaller pro-European Liberal Democrats and the pro-Brexit UK Independence Party (UKIP) have failed to gain much traction.
However the Scottish National Party, which has called for a new independence vote after Brexit, again looks set to dominate north of the English border.