Boris Johnson has held on to his party’s seat in the Old Bexley and Sidcup by-election, but the Conservative majority was slashed from almost 19,000 to just 4,478.
Louie French, the Tory candidate, won the election with a 51.4 per cent share of the vote, compared with Labour’s 30.8 per cent.
The Liberal Democrat candidate lost her deposit, with 2.5 per cent of the vote.
Richard Tice, who was running in the seat for Reform UK, formerly the Brexit Party, picked up 1,432 votes – a 6.6 per cent share.
The by-election, triggered by the death of the former MP, James Brokenshire, is the first of a series of by-election tests for the Conservatives, following a drop in the party’s performance in the national polls.
The Tories had been expected to hold on to Old Bexley and Sidcup, which has never returned an MP for another party, but the Government is thought to be more concerned about another upcoming vote in North Shropshire on Dec 16, triggered by the resignation of Owen Paterson.
Voters will also elect a new member for Southend West early next year, after the former MP Sir David Amess was killed in October.
Speaking at the count on Friday morning, Mr French paid tribute to Mr Brokenshire, whose rosette he wore as the result was announced.
“He fought for the people of Old Bexley and Sidcup every single day,” he said, adding that his predecessor had an “enormous impact” on local people.
“I’m incredibly proud of the campaign my team and I have run based on the issues that matter to those that live here,” he said.
“Those people sent a clear message. They want an MP that will work with the Government to deliver on their priorities.
“Tonight we made history together, by becoming the first home-grown MP for our area.
“This is the greatest honour of my life and I hope it inspires people to achieve their own dreams.”
Turnout down – with Covid and the cold weather blamed
Turnout in Thursday’s by-election was just 34 per cent, compared with almost 70 per cent in the seat at the last general election in 2019. By-election turnouts are usually lower than in general elections, with an average of 50.9 per cent of voters casting a ballot in by-elections since 1979.
Local sources speculated that cold weather, concern about the omicron variant of coronavirus and voters working from home contributed to the low turnout.
Canvassers on the doorstep during the campaign said voters were concerned about recent increases in the cost of fuel and energy, allegations of sleaze in Westminster and migrants crossing the Channel in small boats.
Richard Tice, the Reform candidate, said the result was “a rejection of Boris Johnson personally”.
The poll follows two positive by-elections for the Conservatives in Batley and Spen and Hartlepool, where voters bucked the usual trend by swinging towards the Government.
But in another vote in Chesham and Amersham in June, Mr Johnson lost a formerly safe Tory seat to the Liberal Democrats.
Mr French is a former deputy leader of Bexley council who lives locally and works in finance. He becomes the latest in an unbroken series of Conservative MPs representing the seat since it was created in 1983.
Mr Brokenshire was a former Northern Ireland Secretary and Housing Secretary, who served in Cabinet under Theresa May’s premiership.
He represented Old Bexley and Sidcup for 11 years, and secured a majority of 18,952 at the 2019 election, before resigning from his role as a junior Home Office minister in Mr Johnson’s government for health reasons in July.
The seat was also held by Sir Edward Heath, Prime Minister between 1970 and 1974.
Prior to the seat’s creation, Sir Edward represented two former constituencies in the area that were later abolished.