Bodies littered the scene and a towering plume of smoke rose from the area, which houses foreign embassies, after the blast blew out the windows in several missions and residences hundreds of metres away.
Witnesses described dozens of cars choking the roads as wounded survivors and panicked schoolgirls sought safety, with men and women struggling to get through security checkpoints to search for loved ones.
More than an hour after the explosion, ambulances were still taking the wounded to hospital as firefighters struggled to control blazes in several buildings.
Health ministry spokesman Waheed Majroh said at least 49 people had been killed and 320 wounded, with the figures confirmed by a second health official and the government media office.
More From This Section
Authorities warned the toll could yet rise. "They are still bringing bodies and wounded people to hospitals," senior health ministry spokesman Ismael Kawoosi told AFP.
There was no immediate claim of responsibility, but the attack came as the resurgent Taliban step up their annual "spring offensive".
The Islamic State group has also claimed responsibility for several recent bombings in the Afghan capital, including a powerful blast targeting an armoured NATO convoy that killed at least eight people and wounded 28 on May 3.
Najib Danish, an interior ministry spokesman, said initial findings showed it had been a truck bomb.
Manpreet Vohra, India's envoy to Afghanistan, told the Times Now television channel the bomb went off around 100 metres from India's embassy, one of several in the area.
Indian Prime Minister Narendra Modi tweeted: "We strongly condemn the terrorist blast in Kabul. Our thoughts are with the families of the deceased & prayers with the injured."
The explosion also shattered windows at the Japanese embassy. "Two Japanese embassy staffers were mildly injured, suffering cuts," a foreign ministry official in Tokyo told AFP.
France also reported damage to its own embassy and the German one.
Afghan troops are backed by US and NATO forces, and the Pentagon has reportedly asked the White House to send thousands more troops to the country to break the deadlock in the fight against the Taliban.
US troops in Afghanistan number about 8,400 today, and there are another 5,000 from NATO allies. They mainly serve in an advisory capacity -- a far cry from the US presence of more than 100,000 six years ago.
The blast was the latest in a long line of attacks in Kabul. The province surrounding the capital had the highest number of casualties in the first three months of 2017 due to multiple attacks in the city, with civilians bearing the brunt of the violence.