You’re reading Reaction. To get Iain Martin’s weekly newsletter, columnists including Tim Marshall, full access to the site and invitations to member-exclusive events, become a member HERE. 

The Conservative Party has successfully held onto the London seat of Old Bexley and Sidcup in a by-election, despite voter turnout being a pitiful 34 per cent.

The Tory’s majority has been slashed from 18,952 to 4,478, but Louie French, the party’s candidate, managed to take home half the votes. James Johnson, co-founder of J.L. Partners, says the swing against the Tories (10 per cent) was “smaller than the average in all parliaments since 1997” (16 per cent).

Given the torrid time the government has had in recent weeks over sleaze and numerous other issues, this is a mid-term result Boris Johnson can be pleased with.

The same cannot be said for Labour, who failed to slash the Tories’ vote share. Sir Keir Starmer did not even bother showing up during the entire campaign. Reform, led by Richard Tice, also had a disappointing night, securing less than 7 per cent. Not exactly the sort of surge people were expecting from a UKIP-style tour de force.

All eyes now turn to the hotly-anticipated North Shropshire by-election on 16 December, where ministers are much more skittish about a potential upset.

Old Bexley and Sidcup: Result in full

Louie French, Conservatives – 11,189 (51.48%)

Daniel Francis, Labour – 6,711 (30.88%)

Richard Tice, Reform UK – 1,432 (6.59%)

Jonathan Rooks, Green – 830 (3.82%)

Simone Reynolds, Liberal Democrats – 647 (2.98%)

Elaine Cheeseman, The English Democrats – 271 (1.25%)

John Poynton, UKIP – 184 (0.85%)

Richard Hewison, Rejoin EU – 151 (0.69%)

David Kurten, Heritage Party – 116 (0.53%)

Carol Valinejad, Christian Peoples Alliance – 108 (0.50%)

Mad Mike Young, Official Monster Raving Loony Party – 94 (0.43%)