Boris Johnson thanked Lord Buckethead, Elmo and voters across Britain after winning back his seat in Uxbridge and South Ruislip, writes Rachel Steinberg and Rhys Noye-Allen.

Mr Johnson’s 25,351 votes were enough to beat 18,141 ballots cast for second-place Labour candidate Ali Milani.

Both the Liberal Democrat candidate Joanne Humphreys and the Green Party’s Mark Keir made marginal gains in the constituency.

A boisterous Mr Johnson said he wasn’t prepared to tempt fate by declaring a national victory but cited projections pointing to a comfortable Conservative majority.

He said: “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 an 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.

“If we are lucky enough to be returned as the exit polls seem to suggest then that work will begin tomorrow.”

Then Mr Johnson realised what time it was.

“Or should I say not tomorrow—today!”

Mr Johnson reiterated his campaign pledge to recruit 50,000 more nurses and 6,000 more GPs.

Early reports sparked speculation about Mr Johnson losing the seat he has held since 2015.

Disappointed runner-up Mr Milani said: “I came to this country at the age of five and grew up on a council estate with a single parent who barely spoke a word of English.

“And it is only in the Labour movement, in your grips, that my story is even possible.

“So out of today do not despair, go out and organise and fight for a better world.

“Thank you to every resident of Uxbridge and South Ruislip. Change is coming. It’s just not coming today.”