Boris Johnson insisted he did not know he was breaking his own coronavirus rules, as he offered MPs a “wholehearted apology” after being fined by police.

The Prime Minister repeated his apology in the Commons on Tuesday, after Speaker Sir Lindsay Hoyle approved a vote on whether Mr Johnson lied to MPs with his earlier denials.

Mr Johnson is expected to be on a Government visit to India when the vote takes place on Thursday.

After the House returned from its Easter recess, Mr Johnson said he was speaking in “all humility” by acknowledging the fine police issued, over the gathering in No 10 for his birthday in June 2020.

“I paid the fine immediately and I offered the British people a full apology, and I take this opportunity on the first available sitting day to repeat my wholehearted apology to the House,” he said, as he faced shouts of “resign”.

“Let me also say, not by way of mitigation or excuse, but purely because it explains my previous words in this House, that it did not occur to me then or subsequently, that a gathering in the Cabinet Room just before a vital meeting on Covid strategy could amount to a breach of the rules.

“I repeat that was my mistake and I apologise for it unreservedly.

“I respect the outcome of the police investigation, which is still under way, and I can only say that I will respect their decision-making and always take the appropriate steps.”

Mr Johnson said he has taken “significant steps” to change No 10.