Boris Johnson has apologised for claiming a British mother jailed in Iran was teaching journalism after her husband said he should not be sacked over the "shambles".

Addressing the House of Commons, the Foreign Secretary said the Government has "no doubt" that she was visiting family and should not have been detained as he vowed to do everything possible to return her to the UK.

It came after Richard Ratcliffe revealed that his wife was left “angry” and “inconsolable” after Mr Johnson told a committee of MPs she had been working in the country.

Further “instability” would make the situation worse, he said in a statement, despite fears that Ms Zaghari-Ratcliffe could face a longer prison sentence as a result of Mr Johnson’s actions.

Mr Ratcliffe revealed the 38 year-old may need an operation after lumps were found in her breasts. She is taking medication and being closely monitored because of a family history of cancer, he revealed.

Mr Johnson told Parliament: “The British Government has no doubt that Mrs Zaghari-Ratcliffe was in Iran on holiday and that was the sole purpose of her visit.

“As I said in the House last week, my remarks on the subject before the Foreign Affairs Select Committee could and should have been clearer and I acknowledge that the words I used were open to being misinterpreted and I apologise to Mrs Zaghari-Ratcliffe and her family if I inadvertently caused them any further anguish.”