Rail expert Christian Wolmar pulled off a surprise victory today as he was named Labour’s candidate for the Richmond Park by-election.

The author and Labour activist said he would put opposition to Heathrow expansion at the heart of his campaign against Zac Goldsmith, who resigned as the Tory MP in protest at Theresa May’s decision to approve a third runway at the airport.

Wolmar beat four other shortlisted candidates, including Sachin Patel, who fought the seat for Labour in the general election, and Jessica Toale, an international development who previously worked for Ivan Lewis when he was in the shadow Cabinet.

The votes comes little more than a year after Wolmar sought Labour’s nomination for the London mayoralty but came fifth out of six candidates.

Today Wolmar said he was “honoured and humbled” to be selected for the by-election, which is likely to be high profile despite the Tories’ refusal to field a candidate against Goldsmith.

“Richmond Park has been badly let down by both the Tories and the Liberal Democrats. Successive MPs have failed to address the problems that exist here like availability of affordable housing and cuts to the local NHS,” he said, the Evening Standard reported.

Wolmar saw off competition from Toale, a centrist who was seen locally as an early frontrunner, Patel, a supermarket manager and Usdaw rep, Barnaby Marder, who was backed by the local brand of Momentum, and Ellie Cumbo, a researcher at the General Council of the Bar of England and Wales.

The other main opponent to Goldsmith is Sarah Olney, who was confirmed as the Lib Dem candidate last month.

Wolmar in his own words: I would vote against article 50 in parliament