| Round of 16 | | Quarter-finals | | Semi-finals | | Final |
| | | | | | | | | | | | | | |
| 30 June – Sochi | | | | | | | | |
|
| Uruguay | 2 |
| 6 July – Nizhny Novgorod |
| Portugal | 1 | |
| Uruguay | 0 |
| 30 June – Kazan |
| | Croatia | 2 | |
| Brazil | 3 |
| | 10 July – Saint Petersburg |
| Croatia | 4 | |
| Croatia | 2 |
| 2 July – Samara |
| | Wales | 1 | |
| Wales | 2 |
| 6 July – Kazan | |
| Mexico | 0 | |
| Wales | 3 |
| 2 July – Rostov-on-Don |
| | Belgium | 2 | |
| Belgium | 3 |
| | 15 July – Moscow (Luzhniki) |
| Japan | 2 | |
| Croatia | 2 |
| 1 July – Moscow (Luzhniki) |
| | England | 4
|
| Spain | 3 |
| 7 July – Sochi | |
| Russia | 0 | |
| Spain | 2 (0) |
| 1 July – Nizhny Novgorod |
| | Scotland (ADG) | 2 (1) | |
| Scotland | 2 |
| | 11 July – Moscow (Luzhniki) |
| Denmark | 1 | |
| Scotland | 1 |
| 3 July – Saint Petersburg |
| | England | 3
| | Third place play-off |
| Sweden | 1 |
| 7 July – Samara | | 14 July – Saint Petersburg |
| Northern Ireland | 2 | |
| Northern Ireland | 0 | Wales | 2 |
| 3 July – Moscow (Otkritie) |
| | England | 2
| | Scotland | 0 |
| Colombia | 2 |
| | |
| England | 3
| |
|