Zenit St Petersburg edged closer to its first Russian Premier League title since 2012 with a comprehensive 3-0 victory over Rostov, while Krasnodar was held by struggling Amkar Perm.
Andre Villas-Boas's side has finished runner-up in the past two seasons, but will be crowned champion next weekend providing it at least matches Krasnodar's result.
Having struggled to break down Rostov, Zenit finally found the way through in the closing minutes of the first half as Oleg Shatov and then Hulk put the leader ahead.
Salomon Rondon wrapped up the victory after 87 minutes and its title hopes were further boosted after Krasnodar's 1-1 draw against Amkar Perm.
Mauricio Pereyra had kept Krasnodar's outside hopes of catching Zenit alive with the opening goal after eight minutes, but Janusz Gol levelled before Roman Gerus saved a Pereyra penalty to earn Amkar a draw and all but hand the title to Villas-Boas's men.
CSKA Moscow remains in the hunt for second place after a 3-1 victory over city rival Lokomotiv, the fourth defeat in five proving the end for Lokomotiv boss Miodrag Bozovic, who promptly resigned.
While the title is all but wrapped up, the battle to stay in the league remains wide open, with six teams separated by five points.
Torpedo Moscow picked up a valuable point in a goalless draw with fellow capital club Dinamo, while Ural also earned a draw as it came from behind to draw 1-1 with Ufa.
There was no such joys for Arsenal Tula, though, as it slipped to a third successive defeat, losing 1-0 to Mordovia Saransk, with Damien Le Tallec netting the decisive goal.
Meanwhile, Kuban Krasnodar's winless run was extended to seven games as it was beaten 1-0 by Rubin Kazan, and 10-man Terek Grozny came from a goal down to beat Spartak Moscow 4-2.