US president Joe Biden said he "stands squarely behind" his decision to pull out of Afghanistan, where he said the US should not be fighting a war that Afghan forces were not willing to fight.
In a live televised address, Biden said if Afghanistan could mount a resistance to the Taliban now, there would be no chance of US boots on the ground for longer making any difference.
The Taliban's rapid conquest of Kabul follows US President Joe Biden's decision to withdraw US forces after 20 years of war that cost billions of dollars.
Afghan cities fell in just days and there is fear of a Taliban crackdown on freedom of speech and women's rights.
The US president is facing a barrage of criticism, from even his own diplomats, over his handling of the US exit, pulling out troops and then sending back thousands to help with the evacuation.
"After 20 years I've learned the hard way that there was never a good time to withdraw US forces," Biden said.
"The truth is, this did unfold more quickly than we had anticipated. So what happened? Afghanistan political leaders gave up and fled the country. The Afghan military collapsed, sometimes without trying to fight.
"American troops cannot and should not be fighting in a war and dying in a war that Afghan forces were not willing to fight for themselves."
Biden said the US spent more than a trillion dollars and trained and equipped an Afghan military force.
The president said the mission of the United States in Afghanistan was never supposed to be nation building or creating a unified centralised democracy.
The only vital national interest in Afghanistan remained as it always been, he said, preventing a terrorist attack on the American homeland.
"Today the terrorist threat has metastasised well beyond Afghanistan," he said, extending to Somalia, al Qaeda in the Arabian Peninsula, Syria, and to the Islamic State attempt to set up a caliphate.
Biden warned that if American troops were attacked by the Taliban, the US would "defend our people with devastating force".
He said American troops were trying to gain control of Kabul airport and take over air traffic control.
Frantic scenes at Kabul airport as Afghans try to flee Taliban
Thousands of civilians desperate to flee Afghanistan thronged the airport's single runway on Monday after the Taliban seized the capital, prompting the United States to temporarily halt evacuations to clear the airfield.
Crowds converged on the airport seeking to escape, including some clinging to a US military transport plane as it taxied on the runway, according to footage posted by private Afghan broadcaster Tolo news.
US troops fired in the air to deter people trying to force their way on to a military flight evacuating US diplomats and embassy staff, a US official said.
Five people were reported killed in chaos at the airport on Monday. A witness said it was unclear if they had been shot or killed in a stampede.
A US official told Reuters two gunmen had been killed by US forces there over the past 24 hours. A Pentagon spokesperson said there were indications that one US soldier was wounded.
A German military aircraft landed to evacuate foreign nationals and local Afghan staff, security sources told Reuters.
Jim Messina, a White House deputy chief of staff under former President Barack Obama, has defended Biden, saying there had been a bipartisan consensus that it was time to leave.
"We've been there 20 years. It's America's longest-running war, it is time to get out," he said on Fox. "Why should American troops be fighting a civil war that Afghan troops this week refused to fight for themselves? It was time to get out."
Ben Wallace, the defence secretary of usually staunch US ally Britain, said the 2020 Doha withdrawal accord struck with the Taliban by Biden's predecessor Donald Trump was a "rotten deal".
- Reuters / RNZ