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 he has signed a two-year deal at the Petrovsky Stadium. Arshavin started his professional career with the St. Petersburg side, but he left for Arsenal in the 2009 January transfer window.
He had since made more than 100 Premier League appearances for Arsene Wenger's men, but had lost his starting berth in recent years. The 32-year-old Arshavin 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 a UEFA Cup during his first spell with the Russian giants.