Sir Keir Starmer has said Boris Johnson should have sacked Matt Hancock before he announced his resignation on Saturday.
The Health Secretary quit a day after video footage emerged of him kissing an aide in his ministerial office in a breach of coronavirus restrictions.
Images and video showed Hancock in an embrace with Gina Coladangelo last month, and he was facing increasing pressure to quit over breaking social-distancing rules.
Labour leader Sir Keir and other MPs welcomed Hancock’s resignation but criticised the Prime Minister for not taking the decision out of his hands.
Sir Keir tweeted: “Matt Hancock is right to resign. But Boris Johnson should have sacked him.”
Watch: Matt Hancock resigns as Health Secretary
Liberal Democrats leader Sir Ed Davey added: “Matt Hancock’s legacy as Health Secretary will be one of cronyism and failure.
“And the fact that Boris Johnson thought Hancock could just carry on regardless brings the Prime Minister’s judgement into question once again.”
Johnson had refused to sack Hancock, with his spokesman saying the PM considered the matter closed after receiving the West Suffolk MP’s apology on Friday.
But the Health Secretary wrote a resignation letter to Johnson on Saturday, and released a video, saying: “The last thing I would want is for my private life to distract attention from the single-minded focus that is leading up out of this crisis.”
He added: “We owe it to people who have sacrificed so much in this pandemic to be honest when we have let them down as I have done by breaching the guidance.”
In response, the Prime Minister said he was “sorry” to receive Hancock’s resignation.
He said the Tory MP “should leave office very proud of what you have achieved – not just in tackling the pandemic, but even before COVID-19 struck us”.
Johnson added: “I am grateful for your support and believe that your contribution to public service is far from over.”
Conservative MP Dehenna Davison tweeted: “A tough decision, but the right one. Matt has worked his socks off as Health Secretary, and I’ll always be especially grateful to him for the role he played in helping us beat Covid.
"Let’s come together to finish the job.”
But Jonathan Ashworth, Labour’s shadow health secretary, added: “It is right that Matt Hancock has resigned.
“But why didn’t Boris Johnson have the guts to sack him and why did he say the matter was closed?
“Boris Johnson has demonstrated that he has none of the leadership qualities required of a Prime Minister.
Labour chair Anneliese Dodds tweeted: “A Health Secretary who behaved like rules didn’t apply to him. A Prime Minister who didn’t have the guts to remove him. A government riddled with sleaze.
"Now Matt Hancock has gone, the Prime Minister must clean up this crony government.”