Lib Dem Sarah Olney beats Zac Goldsmith in Richmond Park by-election

The Liberal Democrats have won the by-election sparked by Zac Goldsmith's resignation over Heathrow Airport expansion.

Voters in the southwest London constituency of Richmond Park delivered a Brexit backlash against Prime Minister Theresa May, overturning a massive 23,000 Tory majority.

Sarah Olney won 20,510 votes, a majority of 1,872 over the pro-Brexit Mr Goldsmith, who won 18,638 votes standing as an independent.

:: Analysis: Goldsmith's defeat is a Tory disaster

Speaking after her win, Mrs Olney told Sky News anti-Brexit feeling had been a major theme among voters.

She added: "Most voters were saying they were really alarmed about Brexit, really alarmed about the direction it is taking the country and they want to do something about it."

During her victory speech, she said voters had "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".

Lib Dem leader Tim Farron told Sky News the result proved "we are back, we are fighting" and said the party was "filling the space that a moderate Labour Party would have been filling had they not been taken off to the left".

He added: "In British politics you've got an extreme UKIP-style Tory government now, an ineffective and extreme Labour party and now, thank goodness, there is a moderate, progressive alternative that is pro-internationalism, pro-strong market economics, pro-public services, pro-health service and wants to form an alternative to the Tories that people can believe in."

:: Is Richmond the start of a Brexit backlash?

Following his defeat, 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 came a humiliating third with 1,515 votes, losing his deposit, in a dismal performance that will lead many of the party's MPs to question whether they should have bothered to stand.

Turnout, on a bitterly cold December day, was 53.6%, the highest in a UK mainland by-election since the Tories won Crewe and Nantwich from Labour in 2008.

While all three main candidates were opposed to Heathrow expansion, the Lib Dems were spectacularly successful in turning the by-election into a referendum on Brexit.

The constituency voted by a large majority for Remain in the EU referendum on 23 June and the Lib Dems fought a campaign that was almost entirely about the Government's Brexit strategy.

Mrs Olney told Sky News the result paved the way for Parliament to "override" the EU referendum result.

She said: "It does look now as if we can have a vote in Parliament that might override the referendum. And I will, obviously, be voting to Remain because that is always what I have believed."

Mr Farron echoed this, telling Sunrise Mrs Olney had been given a "direct mandate" by her constituents to vote against Article 50, the formal process for leaving the EU.

The Lib Dems sensed the opportunity for a by-election upset after winning a 19.3% swing in Witney in October and slashing former PM David Cameron's 2015 majority of 25,000 majority to just 5,700.

They flooded the constituency with senior party figures and activists. Mr Farron made 10 visits and former leader Nick Clegg six.

This by-election was highly unusual in that for the first time since Tony Benn renounced his peerage and returned to the Commons in 1963, the governing party failed to put up a candidate.

UKIP did not field a candidate either. Nor did the Greens, who urged their supporters to vote Lib Dem. Many Labour voters also voted tactically for Mrs Olney.

For Mr Goldsmith, millionaire son of the late financier Sir James Goldsmith, the defeat is a personal humiliation after his pledge to resign if Heathrow expansion was given the go-ahead.

Since winning his huge 23,000 majority over the Lib Dems at the 2015 general election, his political career has gone into a disastrous freefall.

Chosen as Tory candidate for London mayor in the election in May this year, he was not only beaten decisively but also faced fierce criticism for the tone of his campaign, which critics - including many Conservatives - claimed was racist.

He will now have to continue his campaign against Heathrow from outside Parliament and decide whether he wants to attempt to regain his seat in 2020.

A Conservative Party spokesman said the result "doesn't change anything" and the Government "remains committed to leaving the European Union and triggering Article 50 by the end of March".