President Trump says his defence secretary Jim Mattis will leave his post on 1 January – two months earlier than originally planned.
When General Mattis said earlier this week he was quitting, the outgoing Pentagon chief offered to stay on until February to ensure an orderly transition.
His announcement he was stepping down came a day after the president said his troops were to pull out of Syria, much to the surprise of Congress, US allies around the world and, apparently, the Pentagon.
And it appears that the defence secretary decided to leave after clashing with his commander-in-chief.
He will be replaced on an interim basis by his deputy Patrick Shanahan.
The president tweeted: "I am pleased to announce that our very talented Deputy Secretary of Defense, Patrick Shanahan, will assume the title of Acting Secretary of Defense starting January 1, 2019.
"Patrick has a long list of accomplishments while serving as Deputy, & previously Boeing. He will be great!"
In his resignation letter, Gen Mattis criticised Mr Trump's foreign policies and his treatment of military allies after the president's decision to take troops out of war-ravaged Syria.
Mr Trump also claimed the Islamic State (IS) group in Syria had been defeated – a claim disputed by senior figures in his own Republican party. And Syrian rebels warned Mr Trump's decision will lead to a revival of the insurgents.
Mr Trump said he has spoken to Turkish President Tayyip Erdogan about "a slow and highly coordinated" withdrawal.
"We discussed ISIS, our mutual involvement in Syria, and the slow and highly coordinated pullout of US troops from the area," Mr Trump said in a tweet. "After many years they are coming home."
Mr Trump said he and Mr Erdogan also discussed "heavily expanded" trade between the US and Turkey.
The US troop pullout in Syria will leave thousands of Kurdish fighters in northern Syria – which the Pentagon spent years training and arming against IS – vulnerable to Turkish attack.
Turkey, which fears the separatist ambitions of Kurds in its own country, has threatened to launch another offensive against Kurdish groups in Syria that Ankara accuse of being "terrorists".
Meanwhile, French President Emmanuel Macron has criticised Mr Trump's decision to withdraw American forces from Syria, saying "an ally must be reliable".
More from US
In a sign of the growing diplomatic rift between the two leaders, Mr Macron said "I deeply regret the decision" by Trump to pullout US troops.
France has said it will maintain its role in the coalition fighting IS in Syria.