The score and the xG side by side. Where they disagree, someone rode their luck or wasted chances — and that is exactly how the season-long gap builds up.
| Match | Score | xG | Who deserved it |
|---|---|---|---|
| Fakel Voronezh — Orenburg | 0:0 | 0.74 : 1.19 | even by chances |
| Akhmat Grozny — Rostov | 4:1 | 1.14 : 0.64 | even by chances |
| CSKA Moscow — Lokomotiv Moscow | 3:2 | 2.57 : 2.11 | even by chances |
| Akron Tolyatti — Krylia Sovetov | 0:3 | 0.72 : 1.84 | deserved |
| Dynamo Moscow — Rodina Moscow | 3:1 | 2.61 : 0.81 | deserved |
| Dynamo Makhachkala — Krasnodar | 0:1 | 0.84 : 0.47 | even by chances |
| Spartak Moscow — Zenit | 2:0 | 0.81 : 0.56 | even by chances |
| Baltika Kaliningrad — Rubin Kazan | 1:1 | 0.70 : 0.82 | even by chances |
Dynamo Moscow — 2.61 xG. Opponent: Rodina Moscow. Result: a win.
Dynamo Makhachkala: 0.84 xG against the opponent's 0.47. Result: a defeat.