Russia Premier League Wrap: Zenit score eight
Aleksandr Kerzhakov also struck twice to become Zenit's record goalscorer with 160 strikes to his name in all competitions.
Torpedo had opened their campaign with a 4-1 to city rivals CSKA and they sit bottom of the pile two games into their top-flight return after capitulating at an empty Petrovsky Stadium.
Zenit, forced to play the game behind closed doors after fan trouble at the back end of last season, were not perturbed by the odd atmosphere and were three goals to the good at the break thanks to Igor Smolnikov, Salomon Rondon and Hulk.
The South American duo netted again after the break before Oleg Shatov got in on the act to make it 6-0 just after the hour mark.
Kerzhakov had just entered the game at this point and rolled home a penalty on 72 minutes to top Zenit's all-time scoring charts before setting up a record win six minutes later.
However, Andre Villas-Boas' men were denied a bigger slice of history as Dmitri Ajdov scored from the spot with four minutes to play, meaning Zenit equalled their 8-1 win over Luch-Energiya Vladivostok in October 2008.
Two other sides joined Zenit on maximum points after two matchdays as Spartak Moscow and CSKA both won away from home.
Artem Dzyuba netted twice for Spartak, taking his tally to four goals this season, as they came from behind to beat Dinamo Moscow.
CSKA were made to wait for their only goal against Mordovia Saransk as Seydou Doumbia converted a 79th-minute penalty to give them all three points.
There were momentous scenes for Ufa as they claimed their first victory in the top flight of Russian football against Amkar Perm.
Having secured promotion from the second division last season, the first maximum haul of the new campaign was secured in the 53rd minute as Marcinho converted from the penalty spot.
Kuban were denied a second successive victory by Vitaliy Djakov as the Russian striker fired home in the last minute to earn Rostov a 2-2 draw and their first point of the season.
Another late goal earned Rubin Kazan a point against Terek Grozny, while Ural held Krasnodar to a 1-1 draw and Lokomotiv Moscow beat newly promoted Arsenal Tula 2-0.