Liberal Democrats in Richmond Park are predicting they will narrowly snatch the west London seat from Zac Goldsmith, after a campaigning blitz in which the party claimed activists spoke to more than 30,000 voters.

The party’s internal data, seen by the Guardian, predicts the Lib Dem candidate, Sarah Olney, will win 47.2% of the vote on Thursday, edging ahead of the former London mayoral candidate on 45.8%. Labour’s Christian Wolmar will trail on just 6.2%, the party’s modelling claims.

Lib Dem sources said activists knocked on 20,000 doors last weekend alone and estimated they had spoken to 52% of eligible voters over the course of the campaign.

Goldsmith, who triggered the byelection in Richmond Park by resigning from the Conservative party in protest at the government’s decision to expand Heathrow airport, has resolutely focused on the third runway during his campaign as an independent. The Conservatives have not put up a candidate against him.

On Wednesday, the anti-Heathrow campaign group HACAN said it had not endorsed Goldsmith and criticised the MP for claiming that it had.

Lady Sally Hamwee, president of the group, said: “HACAN has been determined that our successful campaigning organisation focuses on the issue rather than endorsing any candidate in this byelection. It is part of our strength that we are known as non-party political, and involve members from all parties. I am very sad that in the current highly charged atmosphere, Mr Goldsmith has chosen to project HACAN as endorsing him.”

HACAN chair John Stewart stressed: “We have been very careful not to criticise any of the candidates during the byelection but did welcome the fact that Zac Goldsmith had kept his promise to trigger it if a third runway was given the green light.”

Goldsmith was late to the last hustings of the byelection on Tuesday night after a car accident in which he was struck by his own vehicle, though he escaped unharmed.

And the councillor standing in for @ZacGoldsmith is a Tory from Barnes.

Arriving after an hour, during which a Conservative councillor took his place, Goldsmith apologised for the delay, saying he had been determined to change his torn trousers, according to the Evening Standard.

“I wasn’t going to come here before you with a trouser leg shredded and not looking very nice,” he said. “I really had to go and present myself. I really do apologise for that.”

Singer Bob Geldof, an outspoken pro-EU campaigner, will join Lib Dems on the campaign trail on Wednesday afternoon. During the EU referendum, Geldof commandeered a river boat cruiser to rival a Brexit flotilla headed by Ukip’s Nigel Farage, in one of the most surreal moments of the campaign nicknamed the “Battle of the Thames”. Farage’s boat drenched Geldof’s vessel with water hoses and Geldof flicked a V-sign at the Ukip leader, calling him a “fraud”.

The Lib Dem leader, Tim Farron, hailed Geldof as “a longstanding and passionate campaigner” for important causes. “I’m grateful to him for standing up for pro-European voices at a time when our country needs them more than ever,” he added.

Lib Dems pull off shock victory in Richmond Park by-election as Zac is thrown out

A ‘shockwave to Downing Street’ has, last night, been pulled off by the Liberal Democrats, with Sarah Olney defeating Zac Goldsmith in the Richmond Park by-election.

Lib Dem challenger Ms Olney overturned Mr Goldsmith’s 23,015 majority to win by 1,872 votes. The result saw Ms Olney poll 20,510 votes to Mr Goldsmith’s 18,638, on a turnout of 41,367, or 53.6 per cent. The 21.74 per cent swing to the Lib Dems from Mr Goldsmith topped the 19.3 per cent swing the Lib Dems achieved from the Tories in the Witney by-election.

A Green Party spokesperson said: “The Green Party’s decision to stand down and the huge drop in the Labour Party vote show that people will vote tactically. It proves that there is a huge appetite and a need for proportional representation so that people can express a real preference at elections. In Sarah Olney, we now have an MP who will push for the electoral reform that we so urgently need. We look forward to working with the Liberal Democrats, Women’s Equality Party and the Labour Party in a Progressive Alliance for the 2018 local elections and the next General Election.”

Ms Olney said the shock victory was a rejection of the “Ukip vision” of Britain, and the politics of “anger and division”.

In her victory speech, she said: “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.”

In a brief acknowledgement of the result, a clearly downcast Mr Goldsmith said: “This by-election that we have 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 lost his deposit as he trailed a distant third with 1,515 votes, losing 8% of the Labour vote compared to 2015.

A Conservative Party spokesman said the result would make no difference to Brexit plans, stating: “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. Commiserations to Zac Goldsmith on his defeat. We are sorry that he is no longer in the House of Commons.”

Lib Dem leader Tim Farron said: “The message is clear: The Liberal Democrats are back and we are carrying the torch for all of those who want a real opposition to this Conservative Brexit government.

“This was a remarkable, come-from-nowhere upset that will terrify the Conservatives. A year and a half ago, their man won by nearly 40% and had a majority of more than 20,000. In one fell swoop we have wiped that out completely.

“If this was a general election, this swing would mean the Conservatives would lose dozens of seats to the Liberal Democrats – and their majority with it.

Mr Wolmar said voters had disliked Mr Goldsmith’s “ghastly, disgusting” bid to be London Mayor in which Labour accused him of running a racist campaign against Sadiq Khan.