The Liberal Democrats have chalked up another shock victory for 2016, with Sarah Olney winning the Richmond Park by-election - beating incumbent Zac Goldsmith who had boasted a 23,000 majority.
Olney bagged 20,510 votes compared to Goldsmith, who was standing as an independent, who polled 18,638.
Goldsmith quit the Conservative Party and stood under his own steam after the government decided to back a third runway at Heathrow airport, which prompted him to keep an election promise.
The Lib Dems poured resources into the contest as they attempted to focus the campaign on Brexit in the staunchly Remain west London seat.
The Lib Dem victor, who took 49.7% of the vote, said dissatisfaction with the way Brexit was being handled was the key factor in the outcome.
She said the result was a rejection of the “politics of anger and division”, telling supporters:
“We will defend the Britain we love. We will stand up for the open tolerant, united Britain we believe in.
“The people of Richmond Park and North Kingston have sent a shockwave through this Conservative Brexit government, and our message is clear: we do not want a hard Brexit.
“We do not want to be pulled out of the single market, and we will not let intolerance, division and fear win.”
Mr Goldsmith said:
“This by-election that we just had was not a political calculation, it was a promise that I made and it was a promise that I kept.”
Labour’s Christian Wolmar trailed a distant third with 1,515 votes, after the Greens backed the Lib Dem candidate, while Ukip stood aside to give Mr Goldsmith a clear run and the Conservatives did not field a standard bearer.
A Conservative Party spokesman said the result would make no difference to Brexit plans. He said:
“Commiserations to Zac Goldsmith on his defeat. Zac has been a strong and principled champion for the residents of Richmond Park and North Kingston over the past six years as their Member of Parliament, and a popular figure in the Conservative Party. We are sorry that he is no longer in the House of Commons.
“This result doesn’t change anything. The Government remains committed to leaving the European Union and triggering Article 50 by the end of March next year. In addition, we will continue to take decisive action in the national interest to secure the UK’s place the world - supporting a third runway at Heathrow to secure jobs and business opportunities for the next decade and beyond.”