"Kerzhakov had a talk with Spalletti after which the Italian coach said he could train with the first team again," a club spokesman said.
Kerzhakov was demoted to the reserve team on Sunday for "improper behaviour".
The spokesman said midfielder Igor Denisov, who was also demoted after he refused to play and issued an ultimatum to renegotiate his contract, would remain with the reserves until he apologised for his actions.
A source within the club said Kerzhakov's situation was different from Denisov's as the striker, unlike his team-mate, had not been demanding a pay increase.
On Thursday, Russia coach Fabio Capello included Denisov and Kerzhakov in his 36-man squad for next month's World Cup qualifiers against Portugal and Azerbaijan.
Kerzhakov, who has scored six goals in nine league games for Zenit this season, is available to play against Lokomotiv Moscow on Saturday as well as to face AC Milan in Wednesday's Champions League Group C match.