The prime minister hammered out a compromise with her deeply divided cabinet in an all-day meeting at Chequers on Friday, but after consulting friends and allies, Johnson decided he could not promote the deal.
Pressure on the foreign secretary had been mounting since fellow pro-Brexiter David Davis resigned as Brexit secretary on Sunday night, swiftly followed by his No 2 at the Department for Exiting the EU, Steve Baker.
A Downing Street spokesman said: “This afternoon, the prime minister accepted the resignation of Boris Johnson as foreign secretary. His replacement will be announced shortly. The prime minister thanks Boris for his work.”
Friends said Johnson had been finalising his resignation letter, but Downing Street announced his departure before he had completed it.
Johnson’s resignation was announced on Monday afternoon as Labour MPs were being briefed about the government’s soft Brexit plan by May’s de facto deputy, David Lidington.
Lidington, a potential candidate to succeed Johnson, emerged from the meeting in Westminster apparently unaware of the latest resignation news.
Johnson was due to host a summit about the western Balkans on Monday afternoon but was instead holed up in his official residence with close advisers, considering his position.
He was ridiculed last month after avoiding a vote on a third runway at Heathrow, a proposal to which he had long-held objections. The trade minister Greg Hands resigned rather than obey the Conservative whip and vote for the airport’s expansion.