The 30-year-old striker, who leads the Russian Premier League with 10 goals this season, had pulled a muscle in his thigh, Zenit said on their Twitter feed on Monday.
The Russian champions have lost any chance of reaching the Champions League last 16 but could still qualify for the Europa League knockout round if they match Anderlecht's result against Malaga in the other Group C game.
Zenit are in third place, leading the Belgian champions thanks to a better goal difference. Malaga and Milan are already assured of reaching the last 16.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.