Automatic gunfire broke out at a ceremony marking the defeat of the Soviet invasion of Afghanistan, forcing dignitaries including Afghanistan's president to take cover.
A defense ministry spokesman said President Hamid Karzai, all Cabinet members and foreign diplomats were safe. Two lawmakers were reported wounded.
A Taliban spokesman claimed responsibility for attack, saying four militants with suicide vests and guns were deployed nearby.
Hundreds of people fled in chaos as shots rang out. It was unclear where the firing was coming from. A live TV broadcast of the event in Kabul was quickly cut.
Witnesses could also hear heavy weapon fire.
An Associated Press reporter saw President Karzai escorted from scene, surrounded by bodyguards and leaving in one of four black Land Cruisers. He could not get a clear view of the president.
Join Jerusalem Post Premium Plus now for just $5 and upgrade your experience with an ads-free website and exclusive content. Click here>>