The Liberal Democrats’ Helen Morgan takes North Shropshire in a by-election.
The Conservatives have lost the historically safe North Shropshire seat held by them for nearly 200 years to the Liberal Democrats.
The by-election followed the resignation of former MP Owen Paterson who was found to have breached parliamentary rules on lobbying, and had held a majority of nearly 23,000.
New MP Helen Morgan secured 17, 957 votes with a turnout of 46.3%.
The defeat caps a week of challenges for the prime minister.
Following the result, Ms Morgan, who stood for the Liberal Democrats in the 2019 general election, said it meant the “party was over” for Boris Johnson.
She thanked the people of North Shropshire “not just for putting your faith in me to be your champion in Parliament” but for the “hard work and sacrifices you have made over the past two years to get our communities through this awful pandemic”.
The result comes just days after Boris Johnson experienced his biggest rebellion in office when 100 Tory MPs voted against the government’s proposals to update Covid restrictions in England.
Those events themselves came several days after rows about a Number 10 Christmas party during lockdown restrictions last December and also the prime minister’s appearance at a virtual quiz alongside two colleagues around the same time.
Before that this winter, there had also been a fine for the Conservative Party over the financing of Mr and Mrs Johnson’s renovation of the Number 10 flat, and the fallout over Owen Paterson’s departure- the latter issue about which the prime minister admitted some fault.
It is the second by-election loss of a former Tory stronghold to the Liberal Democrats since the general election. In July, the party seized Chesham and Amersham with a 25% swing.
Earlier this month, the Tories held Old Bexley and Sidcup in a by-election following the death of MP James Brokenshire, but the majority was cut from nearly 19,000 to 4,478, with a 10% swing to Labour.
Former cabinet minister Mr Paterson had been the constituency’s MP since 1997.
The seat has existed in some form since the 1830s and up until Friday, always had a Conservative MP.
There were a total of 14 candidates standing in Thursday’s election. Tory candidate Dr Neil Shastri-Hurst failed to stop the seat changing hands, amassing 12,032 votes, with Labour’s Ben Wood in third with 3,686.
Prior to the result being announced, Lib Dem Treasury spokeswoman Christine Jardine said the party was sure it had won “comfortably”.
In her victory speech, Ms Morgan said: “Tonight, the people of North Shropshire have spoken on behalf of the British people. They have said loudly and clearly ‘Boris Johnson, the party is over’.”
“Your Government, run on lies and bluster, will be held accountable. It will be scrutinised, it will be challenged and it can and will be defeated.”
Follow BBC West Midlands on Facebook, Twitter and Instagram. Send your story ideas to: newsonline.westmidlands@bbc.co.uk