The bombings came amid a wider surge in violence in Kabul and around Afghanistan, where the war is taking a brutal toll even amid a US-led push for a peace deal with the Taliban.
No group immediately claimed responsibility for the attacks, which came just three days before the official campaign season for the September 28 presidential election gets underway.
Previous polls have been marred by violence and bloodshed from the Taliban and other insurgent groups who refuse to recognise Afghanistan's fragile democracy.
According to interior ministry spokesman Nasrat Rahimi, the first blast came around 8:10 am (0340 GMT), when a suicide bomber riding a motorcycle hit a bus in eastern Kabul. He said the bus belonged to the ministry of mines and petroleum.
Rahimi said two other blasts had occurred, including a car bomb, also in eastern Kabul.
Rahimi put the death toll at seven with another 21 wounded. It was not immediately clear if this was from all the blasts or just the irst.
Health ministry spokesman Wahidullah Mayar gave the same toll.
The US is negotiating for a deal that would see foreign forces pull out of Afghanistan in return for various Taliban security guarantees, including a pledge that the country will not become a safe haven for terror groups.
Some observers say the insurgents are increasing attacks to gain greater leverage in the talks.
US peace envoy Zalmay Khalilzad, who is in Kabul this week, is expected to travel to Qatar's capital Doha in coming days for the new round of talks with the Taliban.
The US has also stepped up its air campaign against the Taliban this year, and all sides claim to have inflicted heavy casualties on each other.
Still, the US and the Taliban insist they are making progress, and the insurgents and a group of Afghans this month made a vague and unbinding pledge to try to reduce civilian deaths to "zero".
But civilians continue to pay a heavy price in Afghanistan's raging conflict, with last year the deadliest on record for civilians.
According to a UN tally, at 3,804 civilians died in the war in 2018, including 927 children.
President Donald Trump has said he wants the US to quit Afghanistan as soon as possible.
He provoked outrage in Afghanistan this week when he claimed he could easily win the war but didn't "want to kill 10 million people" or wipe Afghanistan "off the face of the Earth".