Russian Premier League leaders Zenit dropped points for the first time this season as CSKA Moscow cut the gap with a thrilling win at Ural.
Andre Villas-Boas' Zenit side have started the campaign in fine form, winning their opening eight matches and conceding just four goals in the process.
However, their 100 per cent winning start ended in Saturday's 0-0 draw at Spartak Moscow.
Spartak's city rivals CSKA duly took advantage to move within four points of Zenit in a dramatic 4-3 victory over Ural at Stadion Central'nyj.
Defending champions CSKA led 2-1 at the break as goals from Alan Dzagoev and Roman Eremenko cancelled out Edgar Manucharyan's opener.
Ural levelled 10 minutes after the break thanks to Fyodor Smolov's strike, but once more CSKA moved ahead through Seydou Doumbia.
The back-and-forth contest continued into the final stages. Alexandr Erokhin thought he had earned a point for Ural in the 83rd minute, yet Doumbia's fourth league goal of the season ensured CSKA would leave with all three points.
Also on Saturday, Mordovia Saransk were beaten 2-0 at home by Ufa.
On Sunday, neither Dinamo Moscow or Kuban Krasnodar could take advantage of Zenit's statemate as they played put a 2-2 draw at Arena Khimki, the hosts surrendering a two-goal advantage in that clash.
Arsenal Tula remain bottom without a win as goals from Wanderson, Mauricio Pereyra and Ari helped Krasnodar to a 3-0 win, while former Tottenham defender Vedran Corluka bagged a brace in Lokomotiv Moskow's 3-1 success over Amkar Perm'.
Rounding off Sunday's action, Rostov's struggles continued in a 2-1 loss at Terek Grozny, while lowly Torpedo Moscow lost 2-1 at Rubin Kazan on Monday.