Dinamo Moscow suffered their first defeat of the Stanislav Cherchesov era as they were beaten 2-1 at home by Krasnodar.
Cherchesov's reign got off to an ideal start last week as his new side put five past Volga without reply, but his honeymoon period would appear to be over after Dinamo lost further ground on the top three.
Aleksandr Kokorin gave Dinamo the lead at Arena Khimki with a goal just before the half-hour mark.
However, Aleksey Kozlov was then dismissed after the interval and Roman Shirokov and Ricardo Laborde took advantage with goals for Krasnodar, with the former then seeing red late on.
The result represents another blow to Dinamo's slim hopes of qualifying for the UEFA Champions League as the division's leading trio all picked up wins.
Zenit continued their revival under Andre Villas-Boas with a fifth win in a row under the Portuguese.
Goals from Salomon Rondon and Danny were enough to see off rock-bottom Anzhi 2-1.
Lokomotiv Moscow remain a point behind leaders Zenit after edging past Terek Grozny 2-1 thanks to a late brace from Roman Pavlyuchenko.
Third-placed CSKA Moscow were convincing 4-0 winners at 10-man Kuban Krasnodar.
Steven Zuber, Seydou Doumbia, Konstantin Bazelyuk and Zoran Tosic were on target to see off a Kuban side that had Roman Bugaev sent off towards the end of the first half.
Spartak Moscow's hopes of clinching a European place were damaged by a dramatic 2-1 defeat at Rubin Kazan.
Alexander Prudnikov struck in the last minute for mid-table Rubin, meaning Spartak are only one point above Krasnodar, who sit sixth.
At the foot of the table, Anzhi were cut further adrift due to victories for Volga and Tom' Tomsk over Rostov and Krylya Sovetov respectively.
Volga were 2-1 winners, while efforts from Renat Sabitov and Jan Holenda handed Tomsk a 2-0 triumph.
Just six points separate Volga in 15th and Ural in 11th, the latter moving out of the relegation play-off spots thanks to a 2-0 away win at Amkar Perm' in which Edgar Manucharyan and Vladimir Khozin were on target.