# 2019–20 Russian Premier League

The 2019–20 Russian Premier League (known as the Tinkoff Russian Premier League, also written as Tinkoff Russian Premier Liga for sponsorship reasons) was the 28th season of the premier football competition in Russia since the dissolution of the Soviet Union and the 18th under the current Russian Premier League name. Zenit Saint Petersburg came into the season as the defending champions.

## Summary
### Transfer bans

On 9 April 2019, PFC Krylia Sovetov Samara was banned from registering new players for debt to a former player Danil Klyonkin. The ban was lifted after settlement with Klyonkin on 11 July.
On 15 April 2019, FC Orenburg was banned from registering new players for debts accumulated over a collapsed transfer of Ilya Samoshnikov from FC Shinnik Yaroslavl. Orenburg was judged to owe both Samoshnikov for his signing bonus and Shinnik for the transfer fee. The ban was re-affirmed on 24 May 2019 for debts to former player Mikhail Bakayev. The ban was lifted after settlements with Samoshnikov, Bakayev and Shinnik on 2 July.
On 20 August 2019, FC Tambov was banned from registering new players for debts to former player Mladen Kašćelan.
On the same day, FC Rostov was banned from registering new players for debts to former coaches Kurban Berdyev, Ivan Daniliants and Alexandru Mațiura. The ban was lifted after settlements with the coaches on 29 August 2019.

### Sochi vs Orenburg game

On 30 November 2019, the game between PFC Sochi and FC Orenburg which was originally scheduled for 1 December, had been postponed until 2020 due to viral outbreak among Sochi players and staff. Sochi identified infection as tonsillitis, and the league announced it as rotavirus. The game was played on 11 March 2020.

### Suspension

On 17 March 2020, the league was suspended until 10 April 2020 due to the COVID-19 pandemic in Russia. On 1 April 2020, Russian Football Union extended the suspension until 31 May 2020.
On 20 April 2020, a player of the Under-20 squad of FC Lokomotiv Moscow Innokenti Samokhvalov died during an individual workout due to heart failure. His death was not directly caused by COVID-19. He made several bench appearances for the senior squad, most notably in the 2019 Russian Cup Final that Lokomotiv won, but did not see any time on the field for Lokomotiv, mostly playing for the third-tier farm-club FC Kazanka Moscow.
On 15 May 2020, the Russian Football Union announced that the Russian Premier League season would resume on or around 21 June 2020, with the exact date to be confirmed (the remaining calendar template listed one specific date for each match day, the specific dates for each game were to be announced later, with each matchday happening over a period of 3-4 days around the template dates). The last games were scheduled for 22 July. All the remaining games were to be played without fans present.
On 16 May 2020, FC Lokomotiv Moscow chairman of the board of directors confirmed that Jefferson Farfán tested positive for coronavirus, but was not in contact with any other Lokomotiv players. He was the first Russian Premier League player officially confirmed to be positive for coronavirus. On 18 May 2020, FC Rubin Kazan confirmed that their player Konstantin Pliyev also tested positive and is self-isolating. Later the same day it was confirmed that his brother Zaurbek Pliyev of FC Dynamo Moscow is also self-isolating in Vladikavkaz and would not be able to rejoin his club in the next two weeks, even though Zaurbek's test was negative. On the same day it was reported that five more people at FC Dynamo Moscow tested positive - Sylvester Igboun, Roman Yevgenyev, goalkeeper David Sangare, medical director Aleksei Pleskov and goalkeeping coach Dmitry Izotov. On 20 May 2020, Magomed-Shapi Suleymanov of FC Krasnodar confirmed that he was hospitalized with fever and tested positive for coronavirus in early May, but recovered and was discharged from the hospital since. He is the first RPL player who confirmed he was hospitalized. On 22 May 2020, Irina Pogrebnyak, wife of UEFA Cup winner Pavel Pogrebnyak of FC Ural Yekaterinburg, confirmed that Pavel has been hospitalized with pneumonia caused by COVID-19. On 28 May 2020, FC Lokomotiv Moscow announced that four players (Dmitri Barinov, Anton Kochenkov, Timur Suleymanov and Roman Tugarev) have tested positive for the virus, are asymptomatic and are self-isolating at home.
On 2 June 2020, the league announced specific dates for each remaining game, with the first game upon resumption scheduled on 19 June between PFC Krylia Sovetov Samara and FC Akhmat Grozny. On 5 June, the league announced that some fans will be allowed in the stands, following limitations established by the appropriate local authorities, but away fans will not be allowed in.

### Resumption

On 17 June 2020, six players of FC Rostov tested positive for the virus and, according to the protocol that was established, the whole squad, including coaches and other personnel (42 people in total), were quarantined for two weeks. According to reports, the players who tested positive were Roman Eremenko, Dennis Hadžikadunić, Khoren Bayramyan, Mathias Normann, Ivelin Popov and Arseny Logashov. The quarantine period included the dates for the club's next three games: against PFC Sochi (originally re-scheduled to 19 June), FC Arsenal Tula (27 June) and FC Krasnodar (1 July). Sochi refused to re-schedule the game (the only date available was 3 days before the last game of the season, therefore Sochi would have to play 3 games in the last week of the season, which would be a disadvantage against other teams in the relegation battle). If a club forfeits two games, it is automatically excluded from the league, so Rostov were forced to send their Under-18 squad to the game against Sochi, including several players born in 2003 that had to be registered with the league on the day of the game. The game ended with a score of 10–1 for Sochi, the first time in Russian Premier League history one team scored 10 goals in a game. It also tied the biggest-goal-difference record (FC Lokomotiv Moscow beat FC Uralan Elista with a score of 9–0 in 2000) and the most goals in one game record (FC Asmaral Moscow beat FC Zenit Saint Petersburg with a score of 8–3 in 1992). FC Rostov was given permission by the local office of Rospotrebnadzor to field any first-team players (with the exception of 6 who tested positive) in their next game against FC Arsenal Tula on 27 June. Khoren Bayramyan was given permission to play in the game against Arsenal as his latest positive test was taken on 12 June and all his subsequent tests were negative. Most of the players who previously tested positive were allowed to play in the game against FC Krasnodar on 1 July 2020 as 2-week quarantine period expired on that day. Ivelin Popov scored a late equalizer in a 1–1 draw.
On 20 June 2020, it was reported that some players of FC Dynamo Moscow (according to different sources, those were Clinton N'Jie, Nikolay Komlichenko, Charles Kaboré and Sebastian Szymański) tested positive for the virus, a day before their scheduled away game against FC Krasnodar. Dynamo and Krasnodar agreed to reschedule the game for 19 July. Dynamo also confirmed that the players who tested positive were N'Jie, Kaboré and Szymański. Dynamo was given permission by the local office of Rospotrebnadzor to field any first-team players (with the exception of N'Jie, Kaboré and Szymański) in their next game against PFC CSKA Moscow on 27 June, as they all had several consecutive negative tests for the virus in the preceding week. A new permission to field first-team players who tested negative was given for the game against PFC Sochi on 1 July.
On 25 June 2020, FC Orenburg confirmed 8 positive COVID-19 tests in the club in total, including 6 players. Their game against FC Krasnodar was scheduled for 27 June. On 26 June Orenburg officially informed the league that they will not be able to host the game. As there was no date available to reschedule it to (due to previous Krasnodar's game already rescheduled to the only available back-up date), it was not played at all. The league passed the decision on how to assign the game result to the Russian Football Union. On 29 June, Russian Football Union assigned 3–0 victory to Krasnodar and 0–3 loss to Orenburg. On 1 July, Orenburg Oblast branch of Rospotrebnadzor refused to give permission for Orenburg to hold the game against FC Ural Yekaterinburg, the game was not played. The only available back-up date was 19 July, and Ural was already scheduled to play their Russian Cup semifinal game on that day. On 3 July 2020, Russian Football Union assigned 3–0 victory to Ural and 0–3 loss to Orenburg. Also on 3 July, a member of Orenburg's board of trustees Vasili Stolypin announced that the club is asking FC Rubin Kazan to reschedule their game from 5 July to 19 July as Orenburg had additional positive tests and some players were diagnosed with COVID-19-caused pneumonia, including a player who had to be hospitalized on 2 July, which automatically re-sets the starting day for the new mandatory 14-day quarantine period. On the day of the game against Rubin, Orenburg was given permission to field the players who tested negative.
On 26 June 2020, the league members voted to amend league regulations, with the most notable change being removal of the automatic league expulsion as the punishment for two forfeited games. Teams will be allowed to forfeit two or more games and remain in the league as long as they don't finish in the relegation position in the table. The restriction for the minimum number of players registered for a specific game (16 outfield players and 2 goalkeepers) was also removed, so the teams would be able to play if they have fewer players available than 18. The changes had been preliminary approved by the Russian Football Union. RFU formally approved the changes on 29 June 2020.
On 15 July 2020, the league announced that two players of FC Ufa tested positive, but the rest of the squad will not be quarantined and will be allowed to play in their game against FC Dynamo Moscow the following day.
On 16 July 2020, the league announced that 9 members of PFC Sochi tested positive and their game against FC Tambov scheduled for that day will not take place. On 20 July 2020, PFC Krylia Sovetov Samara announced that Sochi informed them they will not arrive for their game that was scheduled for 22 July in Samara, following the recommendations of Rospotrebnadzor. On 21 July 2020, Russian Football Union assigned FC Tambov a 3–0 victory and PFC Sochi a 0–3 loss in their cancelled game. On 23 July 2020, RFU assigned PFC Krylia Sovetov a 3–0 victory and Sochi a 0–3 loss in their cancelled game. If Sochi agreed to reschedule their game against Rostov back in June, it would have been rescheduled for the same period in July, Sochi would have had to also forfeit that game and would have been relegated.

## Teams

As in the previous season, 16 teams were playing in the 2019–20 season. After the 2018–19 season, FC Yenisey Krasnoyarsk and Anzhi Makhachkala were relegated to the 2019–20 Russian National Football League. They were replaced by FC Tambov and PFC Sochi, the winners and runners up of the 2018–19 Russian National Football League. Both teams made their debut in the Premier League.

### Venues

| Zenit Saint Petersburg | Rubin Kazan | Rostov | Krylia Sovetov Samara |
| Gazprom Arena | Kazan Arena | Rostov Arena | Samara Arena |
| Capacity: 67,800 | Capacity: 45,093 | Capacity: 45,000 | Capacity: 44,918 |
| Spartak Moscow | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | Ural Yekaterinburg |
| Otkritie Arena | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | Central Stadium |
| Capacity: 44,307 | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | Capacity: 35,696 |
| Krasnodar | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | Akhmat Grozny |
| Krasnodar Stadium | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | Akhmat-Arena |
| Capacity: 34,291 | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | Capacity: 30,597 |
| CSKA Moscow | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | Lokomotiv Moscow |
| VEB Arena | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | RZD Arena |
| Capacity: 30,457 | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | Capacity: 27,320 |
| Sochi | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | Tambov |
| Fisht Olympic Stadium | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | Mordovia Arena |
| Capacity: 47,659 | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | KrasnodarKrylia SovetovRostovOrenburgAkhmatZenitArsenalCSKADynamoLokomotivSpartakRubinUfaTambovUralSochiclass=notpageimage| Locations of teams in 2019–20 Russian Premier League | Capacity: 44,442 |
| Arsenal Tula | Dynamo Moscow | Ufa | Orenburg |
| Arsenal Stadium | VTB Arena | Neftyanik Stadium | Gazovik Stadium |
| Capacity: 20,048 | Capacity: 26,319 | Capacity: 15,132 | Capacity: 7,520 |

### Personnel and kits

| Team | Location | Head coach | Captain | Kit manufacturer | Shirt sponsor |
| Akhmat | Grozny | Igor Shalimov | Rizvan Utsiyev | Adidas | Akhmat Foundation |
| Arsenal | Tula | Sergei Podpaly (caretaker) | Kirill Kombarov | Adidas | SPLAV |
| CSKA | Moscow | Viktor Goncharenko | Igor Akinfeev | Umbro | Rosseti |
| Dynamo | Moscow | Kirill Novikov | Anton Shunin | Kelme | VTB |
| Krasnodar | Krasnodar | Murad Musayev | Alyaksandr Martynovich | Puma | 1XBET |
| Krylia Sovetov | Samara | Andrei Talalayev | Sergey Ryzhikov | Puma | Parimatch |
| Lokomotiv | Moscow | Marko Nikolić | Vedran Ćorluka | Under Armour | RZhD |
| Orenburg | Orenburg | Ilshat Aitkulov (caretaker) | Đorđe Despotović | Adidas | Gazprom Dobycha Orenburg |
| Rostov | Rostov-on-Don | Valeri Karpin | Ivelin Popov | Adidas | TNS Energo |
| Rubin | Kazan | Leonid Slutsky | Vyacheslav Podberyozkin | Jako | Nizhnekamskneftekhim |
| Sochi | Sochi | Vladimir Fedotov | Soslan Dzhanayev | Nike | |
| Spartak | Moscow | Domenico Tedesco | Georgi Dzhikiya | Nike | Lukoil |
| Tambov | Tambov | Sergei Pervushin | Khasan Mamtov | Jako | Parimatch (Пари Матч) |
| Ufa | Ufa | Vadim Evseev | Pavel Alikin | Joma | Terra Bashkiria |
| Ural | Yekaterinburg | Yuri Matveyev (caretaker) | Artyom Fidler | Adidas | Renova, TMK |
| Zenit | Saint Petersburg | Sergei Semak | Branislav Ivanović | Nike | Gazprom |

### Managerial changes

| Team | Outgoing manager | Manner of departure | Date of vacancy | Position in table | Replaced by | Date of appointment | Position in table |
| Spartak | Oleg Kononov | Resigned | 29 September 2019 | 9th | Serhiy Kuznetsov (caretaker) | 29 September 2019 | 9th |
| Akhmat | Rashid Rakhimov | Resigned | 30 September 2019 | 15th | Igor Shalimov | 30 September 2019 | 15th |
| Dynamo | Dmitri Khokhlov | Resigned | 5 October 2019 | 15th | Kirill Novikov (caretaker, then permanent) | 8 October 2019 8 November 2019 | 15th 13th |
| Spartak | Serhiy Kuznetsov | Mutual consent | 14 October 2019 | 12th | Domenico Tedesco | 14 October 2019 | 12th |
| Tambov | Aleksandr Grigoryan | Mutual consent | 19 October 2019 | 16th | Sergei Pervushin (caretaker, then permanent) | 21 October 2019 28 May 2020 | 16th 11th |
| Sochi | Aleksandr Tochilin | Mutual consent | 20 November 2019 | 16th | Roman Berezovsky (caretaker) | 20 November 2019 | 16th |
| Orenburg | Vladimir Fedotov | Resigned | 8 December 2019 | 14th | Konstantin Yemelyanov | 8 December 2019 | 14th |
| Sochi | Roman Berezovsky (caretaker) | Caretaking spell over | 8 December 2019 | 16th | Vladimir Fedotov | 8 December 2019 | 16th |
| Rubin | Roman Sharonov | Mutual consent | 16 December 2019 | 13th | Leonid Slutsky | 19 December 2019 | 13th |
| Orenburg | Konstantin Yemelyanov | Contract expired | 22 May 2020 | 13th | Ilshat Aitkulov (caretaker) | 22 May 2020 | 13th |
| Lokomotiv | Yuri Semin | Contract expired | 31 May 2020 | 2nd | Marko Nikolić | 1 June 2020 | 2nd |
| Krylia Sovetov | Miodrag Božović | Mutual consent | 28 June 2020 | 16th | Andrei Talalayev | 28 June 2020 | 16th |
| Arsenal Tula | Igor Cherevchenko | Resigned | 1 July 2020 | 10th | Sergei Podpaly (caretaker) | 1 July 2020 | 10th |
| Ural Yekaterinburg | Dmytro Parfenov | Resigned | 19 July 2020 | 11th | Yuri Matveyev (caretaker) | 20 July 2020 | 11th |

## Tournament format and regulations
### Basic

The 16 teams played a round-robin tournament whereby each team plays each one of the other teams twice, once at home and once away. Thus, a total of 240 matches was played, with 30 matches played by each team.

### Promotion and relegation

The teams that finish 15th and 16th will be relegated to the FNL, while the top 2 in that league will be promoted to the Premier League for the 2020–21 season.
The 13th and 14th Premier League teams were expected to play the 4th and 3rd FNL teams respectively in two playoff games with the winners securing Premier League spots for the 2020–21 season. Due to COVID-19 related suspension of the season, those playoffs were cancelled, with 13th and 14th teams remaining in the league.

## League table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification or relegation |
| 1 | Zenit Saint Petersburg (C) | 30 | 22 | 6 | 2 | 65 | 18 | +47 | 72 | Qualification for the Champions League group stage |
| 2 | Lokomotiv Moscow | 30 | 16 | 9 | 5 | 41 | 29 | +12 | 57 | Qualification for the Champions League group stage |
| 3 | Krasnodar | 30 | 14 | 10 | 6 | 49 | 30 | +19 | 52 | Qualification for the Champions League play-off round |
| 4 | CSKA Moscow | 30 | 14 | 8 | 8 | 43 | 29 | +14 | 50 | Qualification for the Europa League group stage |
| 5 | Rostov | 30 | 12 | 9 | 9 | 45 | 50 | −5 | 45 | Qualification for the Europa League third qualifying round |
| 6 | Dynamo Moscow | 30 | 11 | 8 | 11 | 27 | 30 | −3 | 41 | Qualification for the Europa League second qualifying round |
| 7 | Spartak Moscow | 30 | 11 | 6 | 13 | 35 | 33 | +2 | 39 | |
| 8 | Arsenal Tula | 30 | 11 | 5 | 14 | 37 | 41 | −4 | 38 | |
| 9 | Ufa | 30 | 8 | 14 | 8 | 22 | 24 | −2 | 38 | |
| 10 | Rubin Kazan | 30 | 8 | 11 | 11 | 18 | 28 | −10 | 35 | |
| 11 | Ural | 30 | 9 | 8 | 13 | 36 | 53 | −17 | 35 | |
| 12 | Sochi | 30 | 8 | 9 | 13 | 40 | 39 | +1 | 33 | |
| 13 | Akhmat Grozny | 30 | 7 | 10 | 13 | 27 | 46 | −19 | 31 | |
| 14 | Tambov | 30 | 9 | 4 | 17 | 37 | 41 | −4 | 31 | |
| 15 | Krylia Sovetov Samara (R) | 30 | 8 | 7 | 15 | 33 | 40 | −7 | 31 | Relegation to Football National League |
| 16 | Orenburg (R) | 30 | 7 | 6 | 17 | 28 | 52 | −24 | 27 | Relegation to Football National League |
* 1 2 Head-to-head points: Arsenal Tula 4, Ufa 1
* 1 2 Head-to-head points: Rubin Kazan 4, Ural 1
* 1 2 3 Head-to-head points: Akhmat Grozny 8, Tambov 4, Krylia Sovetov Samara 4. Head-to-head goal difference: Akhmat Grozny +3, Tambov 0, Krylia Sovetov Samara –3

## Results

| Home \ Away | AKH | ARS | CSK | DYN | KRA | KRS | LOK | ORN | ROS | RUB | SOC | SPA | TAM | UFA | URA | ZEN |
| Akhmat Grozny | — | 1–1 | 0–4 | 2–3 | 1–0 | 1–1 | 0–2 | 2–1 | 1–1 | 1–1 | 1–1 | 1–3 | 1–1 | 0–1 | 0–0 | 1–1 |
| Arsenal Tula | 1–3 | — | 1–2 | 1–1 | 1–2 | 2–4 | 4–0 | 2–1 | 2–3 | 0–1 | 1–1 | 2–3 | 2–1 | 1–0 | 1–1 | 0–1 |
| CSKA Moscow | 3–0 | 0–1 | — | 0–1 | 3–2 | 1–0 | 1–0 | 2–1 | 1–3 | 1–1 | 0–0 | 2–0 | 2–0 | 0–0 | 1–1 | 0–4 |
| Dynamo Moscow | 1–1 | 0–1 | 0–0 | — | 1–1 | 2–0 | 1–2 | 0–1 | 2–1 | 0–1 | 2–3 | 0–2 | 1–0 | 0–0 | 2–0 | 0–2 |
| Krasnodar | 4–0 | 2–0 | 1–1 | 0–2 | — | 4–2 | 1–1 | 1–1 | 2–2 | 1–0 | 3–0 | 2–1 | 0–0 | 2–0 | 3–0 | 2–4 |
| Krylia Sovetov Samara | 2–4 | 2–3 | 2–0 | 0–0 | 0–0 | — | 1–2 | 1–1 | 0–0 | 0–0 | 3–0 | 1–2 | 2–0 | 0–1 | 2–3 | 0–2 |
| Lokomotiv Moscow | 1–0 | 2–1 | 2–1 | 1–2 | 1–1 | 1–1 | — | 1–0 | 1–2 | 1–1 | 0–0 | 0–3 | 2–1 | 1–1 | 4–0 | 1–0 |
| Orenburg | 1–2 | 2–0 | 0–4 | 2–0 | 0–3 | 0–1 | 2–3 | — | 0–0 | 2–1 | 1–1 | 1–3 | 2–2 | 0–0 | 0–3 | 0–2 |
| Rostov | 2–1 | 2–1 | 3–2 | 3–0 | 1–1 | 1–0 | 1–3 | 2–1 | — | 2–1 | 2–0 | 2–2 | 1–2 | 1–2 | 0–0 | 1–2 |
| Rubin Kazan | 1–0 | 1–0 | 0–1 | 0–1 | 1–0 | 0–1 | 0–2 | 1–0 | 0–0 | — | 0–3 | 1–2 | 2–1 | 0–0 | 0–0 | 1–2 |
| Sochi | 2–0 | 1–2 | 2–3 | 1–1 | 2–0 | 0–2 | 0–1 | 5–1 | 10–1 | 1–1 | — | 1–0 | 1–2 | 0–0 | 2–0 | 0–2 |
| Spartak Moscow | 3–0 | 0–1 | 2–1 | 0–0 | 0–1 | 2–0 | 1–1 | 1–2 | 1–4 | 0–0 | 1–0 | — | 2–3 | 0–0 | 1–2 | 0–1 |
| Tambov | 1–2 | 0–1 | 0–2 | 0–2 | 0–2 | 3–0 | 2–3 | 3–0 | 2–1 | 0–0 | 3–0 | 2–0 | — | 3–0 | 1–2 | 1–2 |
| Ufa | 0–1 | 0–0 | 1–1 | 0–1 | 2–3 | 2–1 | 1–1 | 1–2 | 2–0 | 0–0 | 1–1 | 1–0 | 2–1 | — | 1–1 | 1–0 |
| Ural Yekaterinburg | 3–0 | 1–3 | 0–3 | 2–1 | 2–4 | 1–3 | 0–1 | 1–2 | 2–2 | 1–2 | 3–1 | 0–0 | 2–1 | 3–2 | — | 1–3 |
| Zenit Saint Petersburg | 0–0 | 3–1 | 1–1 | 3–0 | 1–1 | 2–1 | 0–0 | 4–1 | 6–1 | 5–0 | 2–1 | 1–0 | 2–1 | 0–0 | 7–1 | — |

### Positions by round

The table lists the positions of teams after each week of matches. In order to preserve chronological evolvements, any postponed matches are not included to the round at which they were originally scheduled, but added to the full round they were played immediately afterwards.
| Team ╲ Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| Akhmat Grozny | 5 | 11 | 14 | 9 | 10 | 11 | 12 | 12 | 12 | 13 | 15 | 14 | 14 | 15 | 15 | 15 | 13 | 11 | 12 | 12 | 16 | 16 | 14 | 14 | 13 | 14 | 13 | 13 | 13 | 13 |
| Arsenal Tula | 7 | 3 | 7 | 7 | 8 | 8 | 7 | 7 | 7 | 7 | 8 | 7 | 11 | 10 | 6 | 7 | 9 | 7 | 6 | 6 | 6 | 7 | 9 | 9 | 11 | 10 | 11 | 10 | 7 | 8 |
| CSKA Moscow | 16 | 10 | 4 | 2 | 2 | 6 | 6 | 4 | 4 | 2 | 1 | 5 | 5 | 5 | 5 | 4 | 3 | 4 | 4 | 4 | 5 | 5 | 5 | 5 | 5 | 5 | 4 | 4 | 4 | 4 |
| Dynamo Moscow | 8 | 12 | 9 | 10 | 12 | 13 | 11 | 11 | 11 | 11 | 14 | 15 | 15 | 13 | 13 | 11 | 6 | 7 | 8 | 10 | 7 | 6 | 7 | 7 | 8 | 8 | 7 | 6 | 6 | 6 |
| Krasnodar | 14 | 9 | 5 | 5 | 3 | 3 | 1 | 1 | 1 | 4 | 4 | 3 | 3 | 4 | 4 | 5 | 4 | 3 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| Krylia Sovetov Samara | 1 | 8 | 12 | 13 | 13 | 12 | 13 | 13 | 14 | 16 | 12 | 10 | 6 | 8 | 9 | 12 | 12 | 13 | 15 | 15 | 12 | 15 | 16 | 16 | 15 | 15 | 15 | 15 | 15 | 15 |
| Lokomotiv Moscow | 9 | 5 | 8 | 8 | 5 | 2 | 4 | 5 | 5 | 5 | 2 | 1 | 1 | 3 | 3 | 2 | 2 | 2 | 5 | 5 | 4 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| Orenburg | 12 | 14 | 15 | 16 | 16 | 16 | 16 | 15 | 13 | 14 | 11 | 8 | 12 | 12 | 10 | 8 | 10 | 12 | 14 | 14 | 11 | 13 | 15 | 15 | 16 | 16 | 16 | 16 | 16 | 16 |
| Rostov | 3 | 4 | 4 | 3 | 4 | 5 | 3 | 3 | 3 | 3 | 3 | 2 | 4 | 2 | 2 | 3 | 5 | 5 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 4 | 5 | 5 | 5 | 5 |
| Rubin Kazan | 10 | 7 | 3 | 4 | 6 | 7 | 9 | 9 | 10 | 10 | 13 | 11 | 9 | 9 | 12 | 13 | 14 | 14 | 13 | 13 | 15 | 14 | 11 | 12 | 12 | 12 | 10 | 9 | 10 | 10 |
| Sochi | 15 | 16 | 16 | 15 | 15 | 15 | 15 | 14 | 15 | 12 | 10 | 13 | 13 | 14 | 16 | 16 | 16 | 16 | 16 | 16 | 14 | 12 | 10 | 11 | 10 | 11 | 12 | 12 | 12 | 12 |
| Spartak Moscow | 6 | 6 | 10 | 11 | 9 | 4 | 2 | 6 | 6 | 9 | 9 | 12 | 10 | 7 | 6 | 6 | 6 | 9 | 10 | 9 | 10 | 8 | 6 | 6 | 6 | 7 | 9 | 11 | 9 | 7 |
| Tambov | 13 | 15 | 13 | 14 | 14 | 14 | 14 | 16 | 16 | 15 | 16 | 16 | 16 | 16 | 14 | 14 | 15 | 15 | 11 | 11 | 13 | 11 | 13 | 13 | 14 | 13 | 14 | 14 | 14 | 14 |
| Ufa | 11 | 13 | 11 | 12 | 11 | 10 | 10 | 10 | 9 | 8 | 6 | 6 | 8 | 11 | 14 | 10 | 11 | 8 | 7 | 8 | 8 | 9 | 8 | 8 | 7 | 6 | 6 | 7 | 8 | 9 |
| Ural Yekaterinburg | 2 | 1 | 6 | 6 | 7 | 9 | 8 | 8 | 8 | 7 | 7 | 9 | 7 | 6 | 8 | 9 | 8 | 10 | 9 | 7 | 9 | 10 | 12 | 10 | 9 | 9 | 8 | 8 | 11 | 11 |
| Zenit Saint Petersburg | 4 | 2 | 1 | 1 | 1 | 1 | 5 | 2 | 2 | 1 | 5 | 4 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
* Assured a place of European events (at least with the Europa League play-off)
* Assured Champion's League participation

## Season statistics
### Top goalscorers

Top goalscorers :
| Rank | Player | Team | Goals |
| 1 | Sardar Azmoun | Zenit Saint Petersburg | 17 |
| 1 | Artem Dzyuba | Zenit Saint Petersburg | 17 |
| 3 | Yevgeni Lutsenko | Arsenal Tula | 15 |
| 4 | Aleksei Miranchuk | Lokomotiv Moscow | 12 |
| 4 | Aleksandr Sobolev | Krylia Sovetov Samara Spartak Moscow | 12 |
| 4 | Nikola Vlašić | CSKA Moscow | 12 |
| 7 | Eldor Shomurodov | Rostov | 11 |
| 8 | Marcus Berg | Krasnodar | 9 |
| 8 | Grzegorz Krychowiak | Lokomotiv Moscow | 9 |
| 10 | Eric Bicfalvi | Ural Yekaterinburg | 8 |
| 10 | Fyodor Chalov | CSKA Moscow | 8 |
| 10 | Đorđe Despotović | Orenburg | 8 |
| 10 | Maximilian Philipp | Dynamo Moscow | 8 |