The Ministry of Interior said the bomber detonated his explosives at the gates of the Kabul City Center shopping mall, which also houses the four-star Safi Landmark hotel. Two people were wounded in the blast.
"I was just outside my restaurant and suddenly I heard a huge explosion," said Ahmad Shah, 23, who works in a small eatery near the Safi Landmark. "I saw a large fire right at the gate of the City Center."
An Associated Press reporter at the scene said the building was surrounded by hundreds of Afghan security forces. The blast destroyed the guarded entrance to the building and blew out windows. Several shops nearby also were damaged.
Severed body parts could be seen on the ground near the blast site.
A spokesman for the Taliban, Zabiullah Mujahid, claimed responsibility for the attack in a mobile phone text message sent to reporters.
Government officials, businessmen and foreigners regularly hold meetings at the Safi Landmark.
The Safi was heavily damaged a year ago when suicide attackers struck two residential hotels nearby, killing 20 people, including nine foreigners. After that attack, shops at the center, which sell jewelry, electronics and clothing, were closed for months.
City Center is Kabul's first Western-style shopping mall, and is one of the biggest in the capital.
Shopkeepers nearby said Monday's damage appeared to be confined to the guarded entrance area, which was fortified shortly after last year's attack.
President Hamid Karzai condemned the bombing, which he said was aimed at civilians.
"Targeting a nonmilitary location shows how desperate and hopeless the enemies of Afghanistan have become," Karzai said in a statement.
It was the first bombing in the capital since Jan. 28, when a suicide attacker blew himself up at an upscale Kabul supermarket, killing eight people.
Elsewhere in Afghanistan, NATO said a homemade bomb killed a coalition service member in the south of the country. It didn't say where exactly the blast occurred or provide the service member's nationality.
The British Ministry of Defense said two soldiers from the Royal Logistic Corps were killed in a fire at Camp Bastion, the main British military base in Afghanistan. The base is northwest of Lashkar Gah, the capital of Helmand province.
A total of 14 NATO troops have been killed this month.
Last year was the deadliest of the nearly decade-long war for international troops, with more than 700 killed, compared with just more than 500 in 2009, which was previously the worst year of the fighting.