You are not permitted to download, save or email this image. Visit image gallery to purchase the image.
Friday's losses - one in the Conservatives' traditional southern heartlands and in a northern England seat won from Labour in the last election - suggest that the electoral coalition Johnson brought together at the 2019 national election may be fracturing.
The transformation of Johnson from vote winner to electoral liability may prompt lawmakers to move against him again after months of scandal over lockdown parties and amid a growing cost-of-living crisis.
Johnson pledged on Friday to do more to tackle a cost-of-living crisis and listen to people's concerns.
"I think as a government I’ve got to listen to what people are saying, in particular to the difficulties people are facing over the cost of living, which I think for most people is the number one issue," he told reporters in Kigali where he is attending a Commonwealth meeting.
"We’ve got to recognise there is more we’ve got to do and we certainly will, we will keep going addressing the concerns of people until we get through this patch."
Johnson has come under intense pressure to resign after he was fined for breaking Covid-19 lockdown rules after a police investigation into gatherings at his Downing Street offices.
This month he survived a vote of confidence by Conservative lawmakers, though 41% of his parliamentary colleagues voted to oust him, and he is under investigation by a committee over whether he intentionally misled Parliament.
Following the losses in Tiverton and Honiton and Wakefield, Conservative Party Chairman Oliver Dowden resigned, saying things had to change in the party.
"Yesterday's parliamentary by-elections are the latest in a run of very poor results for our party. Our supporters are distressed and disappointed by recent events, and I share their feelings," Dowden said in a resignation letter to Johnson.
"We cannot carry on with business as usual. Somebody must take responsibility and I have concluded that, in these circumstances, it would not be right for me to remain in office."
Although under his party's rules he cannot be challenged with a no-confidence motion for another year, lawmakers fearing for their own futures my decide to reduce the grace period to bring about another vote.
The Conservatives lost a majority of more than 24,000 votes in Tiverton and Honiton, in a deeply Conservative part of southwest England, defeated by the centrist Liberal Democrats who secured a majority of more than 6000.
The Liberal Democrats said it was the biggest ever majority to be overturned at a British parliamentary by-election, suggesting that other Conservative lawmakers may be at risk of losing their seats in the party's southern heartlands.
Winning Lib Dem candidate Richard Foord said in his victory speech that Johnson should "go, and go now".
"With every day Boris Johnson clings to office, he brings further shame, chaos and neglect," he said.
Johnson on Thursday rejected the suggestion that he could resign if the Conservatives lost both seats, saying it was common for governing parties to lose mid-term by-elections. Read full story
In the separate parliamentary seat of Wakefield in northern England, the opposition Labour party also defeated the Conservatives.
"Wakefield has shown the country has lost confidence in the Tories. This result is a clear judgement on a Conservative Party that has run out of energy and ideas," Labour leader Sir Keir Starmer said in a statement.
Johnson led the Conservatives to their biggest majority in three decades at the 2019 national election, winning praise from his party for his ability to win in traditionally Labour-voting areas in north and central England.
However, the loss of Wakefield could indicate that his ability to win again in these areas at the next national election, expected in 2024, has also been compromised.
The by-elections were triggered by high-profile resignations of Conservative lawmakers - one who admitted watching pornography in parliament, and another found guilty of sexually assaulting a teenage boy.