https://www.bbc.com-Image source, Sky
Helen Morgan was applauded as she arrived at the count
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.
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
Following the result, Ms Morgan, who stood for the Liberal Democrats in the 2019 general election, 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.