Boris Johnson has finally admitted he was "wrong" to say Nazanin Zaghari-Ratcliffe was in Iran for anything other than a family holiday, after another bruising Commons appearance.

The foreign secretary was given another grilling from his Labour counterpart Emily Thornberry and several other opposition MPs.

Johnson began by reiterating his phrasing from last week, saying he was sorry if he had "inadvertently” caused Zaghari-Ratcliffe and family “any further anguish”. He confirmed he was meeting her husband Richard Ratcliffe (although got the date wrong and had to clarify that it was Wednesday, not tomorrow) and said he will be pressing for her release as a priority.

Thornberry and others pushed for an unqualified apology, noting that Johnson's comments distancing himself from additional jail term have been "explicitly contradicted" by Iranian state TV, and callrf for a proper apology "not for upsetting people but for getting it wrong"

After several calls for a "genuine" apology, Johnson finally conceded: "It was wrong of me to say she was there in a professional capacity...she was there on holiday."