The Taliban denied responsibility for the killing in an upmarket district close to a Lebanese restaurant in the Afghan capital, where the militants launched a suicide attack that killed 21 people, including 13 foreigners, in January.
The Swedish ambassador to Afghanistan Peter Semneby identified the dead man as radio journalist Nils Horner.
"Unfortunately we just have received confirmation that Nils Horner, who was correspondent for Swedish national radio, was shot and killed in Kabul this morning," ambassador Peter Semneby told AFP.
A witness at the scene described hearing a single gunshot before seeing the victim fall to the ground and a doctor at Kabul's emergency hospital said he was dead on arrival.
Also Read
"There were two guys who ran away. They were perhaps in their 20s and security guards chased them as they ran away," the witness told AFP on condition of anonymity.
Security forces rushed to the scene and cordoned off the street, where there was blood visible on the ground.
The attack came as many of the Afghan capital's security forces were occupied with the funeral of Vice-President Marshal Mohammad Qasim Fahim, who died on Sunday.
"We checked with our mujahideen and they are not involved," Taliban spokesman Zabiullah Mujahid told AFP.
"We don't take responsibility for this incident."
The attack comes less than a month before presidential elections in Afghanistan on April 5 and the withdrawal of NATO combat troops by the end of this year after 13 years of fighting the Taliban.
Foreigners have been targeted before at guesthouses, luxury hotels and embassies in the heavily guarded city, but few have been gunned down on the street.