The 32-year-old, who became the Gunners' record signing in a £15m switch from Zenit in 2009, has struggled for form in recent seasons and fallen out of favour with manager Arsene Wenger.
On his return to Russia, Arshavin told the Zenit website: "I am very glad that it happened. I am glad to get back to the city. It's good to wear the Zenit shirt. I just want to play football.
"Of course, I want to return to the national team. I do not know whether being at Zenit helps this or not. I just want to play football. And I want to do it in my hometown."
Arshavin made 144 appearances for Arsenal, scoring 31 times over the course of five seasons.