Late in the first half with Dynamo leading 1-0, the referee stopped the match after one of the missiles, thrown by the Zenit supporters, landed near Shunin, injuring his eye.
The 25-year-old Russia international was taken to a local hospital, suffering burns to his cornea.
"Anton has a poor vision in one of his eyes," Dynamo doctor Alexander Rezepov said on the club's Twitter feed.
Shunin added: "Something had landed near my feet. I looked down and at that moment the petard blew up into my face. Right now I have some problems with my vision and hearing."
Police arrested 53 people, including a Zenit supporter who allegedly threw the firecracker that injured Shunin.
"We have made 53 arrests, including a young male fan who is suspected of throwing that particular petard," Interfax quoted a police spokesman as saying.
"The stadium has video cameras so we hope to identify him."
Zenit, who won the last two domestic league titles and are backed by Russian energy giant Gazprom, threatened to pull out of the championship in case of "unfair penalty".
"I don't understand why Dynamo try to make us the guilty party," Zenit general director Maxim Mitrofanov said.
"I know that our shareholders and sponsors would be very unhappy if we were treated unfairly. In that case, we will consider pulling out of the Russian championship."
It was far from ideal preparation for Russian champions Zenit, who host Spanish side Malaga in the Champions League Group C match on Wednesday.
Zenit, who trailed league leaders CSKA Moscow by three points before Saturday's matches, could be handed a 3-0 defeat as well as a hefty fine from the Russian FA. Dynamo were in 10th place, 18 points off the pace midway through the season.
Local media reported that some 30 Zenit fans had attacked Dynamo supporters before the match in the Moscow suburb Khimki.
It was the latest in a series of violent incidents in Russian soccer.
Last month, a group of Dynamo fans in camouflage shot at players using paintball rifles at the club's training ground.
The fans had been angry with some of Dynamo's foreign players, warning them to boost their performances or pay the consequences.