When Boris Johnson told the cabinet on Thursday that he would be pushing for a general election on December 12 ministers say they had never seen him so exasperated as he was with parliament for thwarting his efforts to deliver Brexit by October 31.

MPs backed his deal with Brussels comfortably on Tuesday, before rejecting his timetable, a move that presages another delay.

“He didn’t lose his temper, but he was very exercised by the situation and irritated at being slightly trapped by Labour,” one minister recalled.

In language not heard round the cabinet table while Theresa May was in charge, Johnson tore into obstructionist MPs: “There they are sitting on their arses, luxuriating in their salaries. It’s morally wrong and we will hammer them.