Attackers drove an ambulance past a police checkpoint to get to a crowded street in a district full of government buildings and embassies.
Afghanistan’s government has declared a day of mourning for Sunday, as funerals take place and relatives search hospitals for survivors.
The Taliban – a hardline Islamist group – said it was behind the attack.
It was the deadliest attack in Afghanistan for months and took place a week after an attack on a Kabul hotel in which 22 people were killed.
Health Minister Waheed Majroh said most of the 191 people injured were men.
AFP news agency reports that some foreign organisations are “reassessing their presence” in the country after the spate of attacks.
What happened in the latest attack?
Witnesses say the area – also home to offices of the European Union, a hospital and a shopping zone known as Chicken Street – was crowded with people when the bomb exploded on Saturday at about 12:15 local time (08:45 GMT).
Nasrat Rahimi, deputy spokesperson for the Interior Ministry, said the attacker got through a security checkpoint after telling police he was taking a patient to nearby Jamhuriat hospital.
He detonated the bomb at a second checkpoint, said Rahimi.
The International Committee of the Red Cross said the use of an ambulance was “harrowing”.