Donald Trump was told his national security adviser had misled his vice president about his contacts with Russia but waited two weeks to act, White House officials have said.
Michael Flynn was interviewed by the FBI just days after starting his job, as his telephone conversations with Russia's ambassador to the US had already drawn attention from law enforcement agencies.
Mr Trump was informed about the issue just six days into his presidency, but did not oust Mr Flynn until late on Monday night.
He kept Vice President Mike Pence in the dark, and initially thought Mr Flynn could survive the controversy, a source said.
Officials said Mr Flynn's error was not that he discussed US economic sanctions with the Russian before Mr Trump's inauguration - a potential violation of a rarely enforced law.
It was the fact he misled Mr Pence and other senior Trump aides about the nature of the conversations that caused his stunning downfall, they said.
White House officials said they conducted a thorough review of Mr Flynn's interactions, even reviewing transcripts secretly recorded by US intelligence officials, but found nothing illegal.
Mr Pence, who had vouched for Mr Flynn in a televised interview, is said to have been angry and deeply frustrated.
"The evolving and eroding level of trust as a result of this situation and a series of other questionable incidents is what led the president to ask General Flynn for his resignation," White House spokesman Sean Spicer said on Tuesday.
The explanation of the episode left many questions unanswered, including why Mr Trump did not alert Mr Pence to the matter, and why he allowed Mr Flynn to keep accessing classified information up until the day he was fired.
White House officials also struggled to explain why Trump counsellor Kellyanne Conway had declared the president retained "full confidence" in Mr Flynn just hours before the adviser had to submit his letter of resignation.
Mr Flynn's firing also heightened questions about the president's friendly posture toward Russia.
Democrats called for investigations into Mr Flynn's contacts, and Republican Senator Lindsey Graham said Congress needed to know whether he had been acting with direction from the president or others.
And Republican House Speaker Paul Ryan said: "You cannot have a national security adviser misleading the vice president and others."
Before the January 20 inauguration, Mr Pence and other officials insisted publicly that Mr Flynn had not discussed sanctions in his talks with Russian Ambassador Sergey Kislyak.
On January 26, Acting Attorney General Sally Yates contacted White House counsel Don McGahn.
She raised concerns about discrepancies between the public accounting and what intelligence officials knew to be true about the contacts based on routine recordings of communications with foreign officials who are in the US.
The Justice Department warned the White House that the inconsistencies would leave the president's top national security aide vulnerable to blackmail from Russia, according to a person with knowledge of the discussion.
The president was informed of the warnings the same day, Mr Spicer said.
Mr Trump has kept quiet about Mr Flynn, but he tweeted on Tuesday morning that the "real story here is why are there so many illegal leaks coming out of Washington?"