Another 18 people were injured after explosive devices placed inside a cart were detonated on Friday, dpa news agency reported, citing a statement by police spokesperson Khalid Zadran.
Some of the wounded were in critical condition, Zadran added.
The attack came as Shia Muslims, a religious minority in the country, were preparing for Ashura which commemorates the martyrdom of Imam Hussein, the grandson of the Prophet Muhammad.
The Islamic State (IS) militant group has claimed responsibility for the attack.
In a statement on its official telegram channel, the group said they had targeted a gathering of Shia Muslims.
Following the Taliban takeover of Afghanistan in August last year, IS has carried out a number of deadly attacks, mainly targeting religious minority groups.