The UK's ruling Conservative Party loses two out of three by-elections as support for the main opposition Labour Party soars ahead of the 2024 general election.
Thursday was a bad day for the UK Prime Minister Rishi Sunak although not as bad as some people had predicted.
Many thought his ruling Conservative Party would lose former PM Boris Johnson's old seat of Uxbridge and South Ruislip on the outskirts of London.
That didn't happen but it was a close contest for a constituency regarded as a 'safe' Tory seat. In the end, there was a 6.7% swing to Labour but the Conservatives won it by 495 votes.
However, elsewhere the ruling party was heavily defeated.
In the Yorkshire seat of Selby and Ainsty, the main opposition Labour Party made history by overturning a 20,137 majority to win the seat.
And in Somerton and Frome in the southwest of England, the Liberal Democrats overturned a majority of more than 19,000 to take the seat.
The results are a stark warning to Prime Minister Rishi Sunak ahead of the 2024 general election when he hopes to be reelected.
His Conservative Party has plummeted in the opinion polls due to a series of scandals, mainly associated with the handling of the Covid-19 pandemic, that led to the resignation of Boris Johnson as prime minister and as an MP.
The country is also facing a cost of living crisis that many people think has been exacerbated by Brexit.
Rishi Sunak's turnaround efforts have in part been hobbled by persistently high inflation, which in recent months has spooked the markets once again.
With interest rates at their highest in 15 years, pushing mortgage and other borrowing costs ever higher, the worst cost-of-living crisis in a generation is showing few signs of abating.
Unless things improve, Sunak knows he faces an uphill struggle to avoid a heavy defeat in 2024.