Lib Dem candidate Sarah Olney has won the Richmond Park by-election.
Olney was running against the constituency's incumbent MP, Zac Goldsmith, and took 20,510 votes against the former Tory's 18,638. The result is a shocking turnaround from the 2015 General Election when Goldsmith commanded 58 per cent of the vote.
Goldsmith triggered the by-election by resigning over the expansion of Heathrow, but the Lib Dems have been seeking to exploit strong local support for EU membership – Richmond Park saw one of the strongest Remain votes in the summer referendum, while Goldsmith campaigned for Brexit.
The Conservative party did not run against their former member, and Ukip also decided not to field a candidate in a bid to prevent the pro-EU Lib Dems from gaining a seat.
Olney said in her victory speech that it had shown Richmond Park voters were rejecting the "Ukip vision" in the UK and the US: "We will defend the Britain we love...the people of Richmond Park have sent a shockwave".
The Europe issue made the Richmond by-election a particularly hot contest - Lib Dem leader Tim Farron has loudly proclaimed his party's intention to vote against the triggering of Article 50 if they aren't promised a second EU referendum, but he could do with adding a few Lib Dem MPs to the eight currently sitting in parliament first.
Meanwhile, after sailing his way (literally) into the EU referendum Remain campaign, Bob Geldof pitched up in Richmond on Wednesday to lend Olney a hand.
Olney and Goldsmith were also running against Howling Laud Hope, of The Official Monster Raving Loony Party; Maharaja Jammu and Kashmir, One Love Party; David Powell; Dominic Francis Stockford from the Christian Peoples Alliance; Fiona Natasha Syms, another Tory standing as an independent candidate, and Labour's Christian Wolmar. All of the other candidates lost their £500 deposits after failing to win a big enough share of the vote.