Rishi Sunak has suffered a double by-election defeat in safe Tory seats, with Labour and the Liberal Democrats both overturning majorities of about 20,000.
Labour won Selby and Ainsty and the Lib Dems took Somerton and Frome on sizable swings which will leave many Tory MPs looking nervously at their own majorities.
But the Tory leader was spared the prospect of being the first prime minister since 1968 to lose three by-elections on the same day as Labour failed to secure victory in Boris Johnson’s former seat of Uxbridge and South Ruislip.
Tory Steve Tuckwell held on with a majority of just 495, down from the 7,210 Mr Johnson secured in 2019.
Uloss
the failure to secure victory in Uxbridge and South Ruislip in west London has led to a blame game among senior figures over the capital’s mayor Sadiq Khan’s plan to expand the ultra-low emission zone (Ulez) to cover outer boroughs.
Labour candidate Danny Beales had distanced himself from the policy, saying it was “not the right time” to expand the £12.50 daily charge for cars which fail to meet emissions standards.
The defeat in the seat was dubbed “Uloss” by a party insider in a sign of the unease at Mr Khan’s plan.
In his victory speech, new MP Mr Tuckwell said Khan had cost Labour the seat.
“It was his damaging and costly Ulez policy that lost them this election,” he said.
“This wasn’t the campaign Labour expected and Keir Starmer and his mayor Sadiq Khan need to sit up and listen to the Uxbridge and South Ruislip residents.”
Results in full
Here are the results in full:
Steve Tuckwell (C) 13,965 (45.16 per cent)
Danny Beales (Lab) 13,470 (43.56 per cent)
Sarah Green (Green) 893 (2.89 per cent)
Laurence Fox (Reclaim) 714 (2.31 per cent)
Blaise Baquiche (LD) 526 (1.70 per cent)
Steve Gardner (Soc Dem) 248 (0.80 per cent)
Kingsley Anti Ulez (Ind) 208 (0.67 per cent)
Count Binface (Binface) 190 (0.61 per cent)
No Ulez Leo Phaure (Ind) 186 (0.60 per cent)
Richard Hewison (Rejoin) 105 (0.34 per cent)
Piers Corbyn (LLL) 101 (0.33 per cent)
Cameron Bell (Ind) 91 (0.29 per cent)
Enomfon Ntefon (CPA) 78 (0.25 per cent)
Rebecca Jane (UKIP) 61 (0.20 per cent)
Ed Gemmell (Climate) 49 (0.16 per cent)
Howling Laud Hope (Loony) 32 (0.10 per cent)
Seventy-seven Joseph (Ind) 8 (0.03 per cent)
Conservative majority: 495 (1.60 per cent)
Electorate 67,067; Turnout 30,925 (46.11 per cent, -22.37 per cent)
2019 result: Conservative majority 7,210 (14.96 per cent) – Turnout 48,187 (68.48 per cent) Johnson (C) 25,351 (52.61 per cent); Milani (Lab) 18,141 (37.65 per cent); Humphreys (LD) 3,026 (6.28 per cent); Keir (Green) 1,090 (2.26 per cent); Courtenay (UKIP) 283 (0.59 per cent); Buckethead (Loony) 125 (0.26 per cent); Binface (Ind) 69 (0.14 per cent); Utting (Ind) 44 (0.09 per cent); Yogenstein (ND) 23 (0.05 per cent); Burke (Ind) 22 (0.05 per cent); Smith (ND) 8 (0.02 per cent); Tobin (ND) 5 (0.01 per cent)