The 32-year-old Russia international was released by the Gunners and now Zenit's owners, the gas giant Gazprom, have approved his acquisition.
Gazprom's chief executive Alexei Miller told Sport Express Daily: "We have to remember that Arshavin is a product of Zenit and I think it right that a product of Zenit finishes his career at his native club.
"Arshavin is a great Russian footballer and a great Petersburg sportsman."
Arshavin played a starring role in Zenit's 2008 UEFA Cup success and then performed superbly for Russia in the 2008 European Championships.
However, he failed to build on a promising start to his career with Arsenal and spent time on loan with Zenit during the 2011/12 season.
Sport Express reports the main conditions of his new Zenit contract have been agreed, following a meeting with Miller and Zenit manager Luciano Spalletti.
Zenit are looking to strengthen their side following the departure of Russian star Igor Denisov, who is to join big-spending Anzhi Makhachkala.