The centrist Liberal Democrats party candidate, Helen Morgan, won the North Shropshire seat by nearly 6,000 votes, overturning a 23,000 vote Conservative majority from 2019.
"Our country is crying out for leadership. Mr Johnson, you’re no leader."
The Conservatives had won every previous election for the mostly rural area of central England since the constituency was created in its current form in 1983.
The huge swing comes at time when Johnson is facing criticism on several fronts, including over reports his staff held parties last Christmas when the country was in lockdown.
Nationwide opinion polls show Conservatives falling behind their main rivals, the Labour Party, following an outcry over lawmakers’ second jobs, criticism of the way Johnson funded the lavish refurbishment of his flat, and a surge in Covid-19 cases.
The vote for the North Shropshire area, one of 650 seats in Britain’s parliament, was called outside of the regular election cycle because the incumbent Conservative resigned after he was found to have broken rules on paid lobbying.
The government attempted to prevent that resignation by changing rules designed to stop corruption in parliament, but was forced to backtrack after the move provoked an outcry about integrity and trust under Johnson’s leadership.
So-called by-elections are often used by voters to punish the ruling party, but the scale of the Liberal Democrat victory will be taken as evidence of deep public dissatisfaction.
Johnson still maintains a large majority of the seats in parliament after a comprehensive 2019 election win built on a promise to ‘Get Brexit Done’ that united traditional right-leaning Conservative voters with a swathes of new supporters.
North Shropshire was a pro-Brexit, staunchly Conservative area. Analysts say Friday’s heavy defeat may further undermine Johnson’s authority over lawmakers already in open revolt over plans to introduce Covid-19 passports.
Britain’s next nationwide election is due in 2024.