Two-time former Russian champions Lokomotiv Moscow defeated city rivals Spartak 3-1 on Sunday in an empty Lokomotiv Arena.
The railway-backed side now have 33 points from 15 matches and are three points behind leaders Zenit St Petersburg while Spartak are in third spot on 30 points.
Spartak, whose own ground is undergoing renovation work ahead of the 2018 World Cup, opted to play their 'home' game at their city rivals' stadium.
But after the Russian league penalised them for their fans' unruly behaviour at the midweek cup match at Yaroslavl, they were ordered to play two home matches behind closed doors.
Despite the eerie atmosphere, the railway-backed side took the lead through Senegalese forward Dame N'Doye who scored from Brazilian teammate Maicon's cross in the seventh minute.
Russian international winger Alexander Samedov made it 2-0 just 10 minutes later after a blunder by Spartak goalkeeper Sergei Pesiakov.
In the 27th minute, Armenian forward Yura Movsisyan reduced the arrears, scoring from close range from Sergei Parshivslyuk's cross.
But N'Doye restored Lokomotiv's two-goal advantage in the 77th minute after escaping the offside trap.
"After we scored two early goals, we gave Spartak the initiative and had some troubles before the break," said Lokomotiv manager Leonid Kuchuk.
"But in the second half we rearranged our line-up and kept play under control."
Kuban clinched a hard-fought 2-1 win over city rivals FC Krasnodar in the southern Russian derby.
Kuban grabbed the lead in the 64th minute through Romanian forward Gheorghe Bucur, who collected French teammate Charles Kabore's pass and beat goalkeeper Alexander Filtsov.
Bulgarian midfielder Ivelin Popov made it 2-0 on a counter-attack in the first minute of injury time.
FC Krasnodar's Ivory Coast striker Gerard Gohou netted a late consolation.
"I think we won deservedly as we played well-organised football for 90 minutes," said Kuban head coach Viktor Goncharenko.