Rishi Sunak’s chances of guiding the Conservatives to victory at the next general election looked increasingly slim on Friday after his party suffered two shattering byelection defeats.
Labour gained its second biggest swing from the Tories since 1945, overturning a 20,000-vote Tory majority in Selby and Ainsty, with the Liberal Democrats also toppling the Conservatives in the previously safe West Country seat of Somerton and Frome.
Keir Starmer, the Labour leader, said the Tory defeats showed voters had let out a “cry for change” despite narrowly failing to take Boris Johnson’s former Uxbridge and South Ruislip seat by 495 votes, amid unrest over the expansion of the ultra-low emission zone (Ulez) charge on high-polluting vehicles.
Sunak said on a visit to Uxbridge on Friday that the result, which left the Tories clinging on to the seat after a 6.7% percentage point swing to Labour, showed the general election was still up for grabs and insisted he would “double down” on his approach.
“Westminster’s been acting like the next election is a done deal,” the prime minister said. “The Labour party has been acting like it’s a done deal, the people of Uxbridge just told all of them that it’s not.”
However, the results underline the extent to which the national mood has turned against Sunak’s party, promptings fears among demoralised Tory MPs and activists that – without a dramatic change in fortunes – support may not return in time for next year’s general election.
Sunak is expected to face two more byelection tests later this year in Nadine Dorries’s Mid Bedfordshire seat and Chris Pincher’s Tamworth constituency. The results across all three constituencies on Friday morning put the governing party 21 percentage points behind on average, similar to national polling which puts them on course for election defeat.
However, the Labour’s delight was notably tempered by its failure to take Uxbridge from the Tories, with some in the party blaming the decision of the London mayor, Sadiq Khan, to extend the Ulez to the capital’s suburbs.
Starmer urged Khan to “reflect” on the implementation of the Ulez extension, although Labour sources said there were no plans to water down its own green policies, insisting the £28bn plan to invest in green jobs and industry would help with the cost of living.
Khan defended the expansion, which comes in at the end of August, saying he was “determined to clear the air in London”, but acknowledged he was “disappointed” that Labour had failed to win the west London seat.
Sunak faces his own battle over green policies, with Tory sceptics arguing the government should abandon its plan to ban the sale of new petrol and diesel cars from 2030, while environmentally minded MPs urged him to hold firm on net zero commitments.
The prime minister spent the rest of Friday working from Downing Street, but put off a mooted cabinet reshuffle until a future date. Instead, he will have been pondering over how to boost the fractured and despondent Tory vote ahead of next year.
In a night of high drama, Keir Mather, Labour’s 25-year-old candidate in Selby and Ainsty, overturned a 20,137 Tory majority to win by 4,161 votes, a historic 23.7 percentage points swing.
Starmer travelled to Selby Town football club in the North Yorkshire constituency – 237th on Labour’s target list and just a few miles from Sunak’s own seat – to celebrate the record victory, which was helped by the fact that thousands of Tory voters stayed at home.
“You voted for change. You put your trust in the Labour party, and we hear you,” he told party supporters. “We hear that cry for change away from the chaos, away from those rising bills, the crumbling public services – a cry for change and we will deliver.”
In Uxbridge, the Tory candidate Steve Tuckwell, a local councillor, won by just 495 votes – well down on the 7,210 majority won in 2019 by Boris Johnson, who quit the seat after the privileges committee found he had lied to parliament over the partygate scandal.
The Liberal Democrats were also celebrating after a 29 percentage point swing in Somerton and Frome saw a 19,213 Tory majority turned into an 11,008-vote cushion for new MP Sarah Dyke.
On a victory visit to Frome, Lib Dem leader Ed Davey said the result showed his party was once again a force in its former West Country heartland, as he became the first leader since Paddy Ashdown in the run-up to the 1997 election to win four byelections.
Calling for a general election “to end this Conservative circus”, he pretended to light a circus cannon adorned with the slogan “Get these clowns out of No 10” as yellow confetti was sprayed across dozens of party supporters.
There was clear evidence of tactical voting by Labour and Lib Dem voters in both the Selby and Somerton contests, potentially spelling further bad news for the Tories if repeated at the general election. The Lib Dems came sixth in Selby, while Labour came fifth in Somerton, with a vote share so low the party lost its deposit.
The Greens, meanwhile, took third place – albeit distantly – in all three seats. Siân Berry, selected by the party to fight their sole parliamentary seat, said Labour’s seeming shift to the right under Starmer would improve their chances of holding Brighton Pavilion at the next election.
On a visit to the Rumbling Tum cafe in Ruislip, Sunak, who had just avoided becoming the first prime minister since 1968 to lose three byelections on the same day, welcomed the narrow win after a poor showing by his party across the three contests.
“Byelections, midterms for an incumbent government are always difficult. They rarely win them,” he said. “The message I take away is that we’ve got to double down, stick to our plan and deliver for people.”
However, Tory MPs returning to their constituencies for the summer will now have to explain to local members how the Tory leadership plans to get back on track against a backdrop of falling living standards, struggling public services and the economy faltering.
Additional reporting by Sammy Gecsoyler and Mabel Banfield-Nwachi