Russia Premier League Wrap: Title rivals all win
Zenit – who lead Spartak on goal difference – produced a stunning second half to defeat Krylya Sovetov 4-1 on Wednesday.
Luciano Spalletti's side trailed at the break after Haiti international Reginal Goreux's first-half goal, but fought back superbly to claim all three points.
Brazilian Hulk drew Zenit level two minutes in the second half and Oleg Shatov put them in front moments later.
And further goals to Hulk and Shatov helped Zenit to an impressive away victory.
Spartak scored three times in the first 30 minutes as they beat Krasnodar 3-2.
Jose Manuel Jurado's early strike was cancelled out by Mauricio Pereyra, but Yura Movisisyan and Jurado scored again before the half-hour mark.
Isael set up an interesting finish with a goal 22 minutes from time, but Spartak did enough to hold on for victory.
Lokomotiv won far easier, cruising to a 3-0 success against Ural thanks to goals from Dame N'Doye, Dmitri Tarasov and Lassana Diarra.
Rubin Kazan came from behind to draw 2-2 against Dinamo Moscow, while CSKA Moscow were held to a 0-0 draw against Anzhi, who are still searching for their first win of the season.
Other results saw Kuban Krasnodar defeat rock-bottom Terek Grozny 3-1, while Amkar Perm and Tom Tomsk notched 1-0 victories against Rostov and Volga respectively.