Rishi Sunak has been dealt yet another blow to his leadership after the Lib Dems pulled off a stunning victory in a previously safe Tory seat.
The Conservatives saw their 19,213 majority in Somerton and Frome wiped out as their vote collapsed.
Lib Dem candidate Sarah Dyke received 21,187 votes, with Tory hopeful Faye Purbrick receiving 10,179.
That gave the Lib Dems a majority of 11,008 on a 29% swing away from the Conservatives.
The result piles more pressure on Sunak, who has failed to turn around the Tories’ fortunes since becoming prime minister nine months ago.
The by-election was called following the resignation of former Tory MP David Warburton last month following allegations of sexual misconduct and drug taking.
Liberal Democrat leader Ed Davey said: “This stunning victory shows the Liberal Democrats are firmly back in the West Country.
“Sarah Dyke will be an incredible local champion for the people of Somerset who have been neglected for far too long. She will fight for stronger local health services, better access to GPs and a fair deal for rural communities during this cost of living crisis.
“The people of Somerton and Frome have spoken for the rest of the country who are fed up with Rishi Sunak’s out-of-touch Conservative government.”
Elsewhere, Labour have won the Selby and Ainsty by-election after toppling one of the safest Tory seats in the country.
On a brighter note, the Conservatives have narrowly beaten Labour to retain Boris Johnson’s former seat following a bitter by-election campaign.
Despite the Conservatives avoiding a three-nil defeat, the swing in the vote went away from the Tories in every seat.