The former Russia international has sealed his return to the club where he started his professional career after leaving Arsenal
The attacker was available on a free following the Gunners' decision not to extend his expiring contract and has signed a two-year deal at the Petrovsky Stadium.
Arshavin started his professional career at the Saint Petersburg side, but left the club for Arsenal in the 2009 January transfer window.
He had since made over 100 Premier League appearances for Arsene Wenger's men, but had lost his starting berth in recent years.
The 32-year-old already spent the second half of the 2011-12 campaign on loan at Zenit and he has now sealed a permanent return to his boyhood club.
The versatile attacker won two league titles and an Uefa Cup during his first spell with the Russian giants.