Boris Johnson has been left with a Commons working majority of just one after the Liberal Democrats won the Brecon and Radnorshire by-election.
Jane Dodds overturned an 8,038 majority to beat Tory Chris Davies by 1,425 votes and Labour were beaten into the fourth place by the Brexit Party.
The BBC says the result “makes it harder for Boris Johnson to deliver Brexit on 31 October” and leaves him “more susceptible to losing a possible motion of no confidence”.
Subscribe to The Week
Escape your echo chamber. Get the facts behind the news, plus analysis from multiple perspectives.
Sky News describes the result as “a significant blow to the new Tory leader” which “adds to his challenges”.
Dodds, who is the Lib Dems' leader in Wales, won with 43.5% of the vote, ahead of former Conservative MP Chris Davies on 39% after he triggered the by-election following his conviction for submitting false expenses.
In March, he pleaded guilty to submitting two false expenses invoices for nine photographs costing £700 to decorate his office, and was fined £1,500, ordered to pay £2,500 in legal costs and told to carry out 50 hours of community service.
Some 19% of the electorate voted for his recall, comfortably above the 10% threshold required.
After the result was announced at the count, Dodds said her first act as an MP would be to find Johnson “wherever he his hiding” and tell him to rule out a no-deal Brexit.
She said: “People are desperately crying out for a different kind of politics. There is no time for tribalism when our country is faced with a Boris Johnson government and the threat of a no-deal Brexit.”
The Lib Dems’ path to victory was eased by the decision of Plaid Cymru and the Green Party not to contest the seat as part of a pro-Remain alliance.
Plaid Cymru leader Adam Price said the "spirit of co-operation" between the pro-Remain parties had led to Dodds' election
The result means that Johnson, who has been in power for just 11 days, has set a record for the fewest number of days taken for a new prime minister to lose a seat at a by-election.
The turnout was 59.72% - the highest for a by-election in the current parliament.
Create an account with the same email registered to your subscription to unlock access.