The Russian Football Union also ordered Zenit, who were leading the league standings going into Sunday, to play two home games behind closed doors and another three with a section of the stadium closed where the team's ultras sit.
Dynamo were leading Sunday's match 4-2 in the 86th minute when a few hundred Zenit fans invaded the pitch and one of them punched defender Granat in the head, leaving him with a concussion.
The match was abandoned after the referee consulted with the match delegate.
The supporter who threw the punch has been identified as 45-year-old Alexey Nesterov but he has not been found or arrested.
Zenit are second in the standings and face Kuban Krasnodar in their final match of the season. They are one point behind leaders CSKA Moscow, while Dynamo are in fourth place.
- Sports & Recreation