| | First Half starts. |
| 1' | | Fouled by M'Baye Niang - Empoli |
| 1' | | Ismaël Bennacer - AC Milan - won a free kick in attack. |
| 2' | | Christian Pulisic - AC Milan - won a free kick on the right wing. |
| 2' | | Fouled by Giuseppe Pezzella - Empoli |
| 4' | | Corner - AC Milan. Conceded by Sebastiano Luperto. |
| 5' | | New attacking attempt. Christian Pulisic - AC Milan - shot with right foot from the right side of the box is saved in the top right corner. Assist - Ruben Loftus-Cheek. |
| 5' | | Corner - AC Milan. Conceded by Elia Caprile. |
| 8' | | Fouled by Sebastian Walukiewicz - Empoli |
| 8' | | Luka Jovic - AC Milan - won a free kick on the left wing. |
| 9' | | Fikayo Tomori - AC Milan - won a free kick in defence. |
| 9' | | Fouled by Nicolò Cambiaghi - Empoli |
| 9' | | Fouled by Davide Calabria - AC Milan |
| 9' | | Giuseppe Pezzella - Empoli - won a free kick in defence. |
| 10' | | Fouled by Ismaël Bennacer - AC Milan |
| 10' | | Szymon Zurkowski - Empoli - won a free kick in defence. |
| 12' | | Corner - AC Milan. Conceded by Ardian Ismajli. |
| 13' | | Shot blocked. Luka Jovic - AC Milan - shot with the head from the centre of the box is blocked. Assist - Fikayo Tomori. |
| 13' | | Missed chance. Fikayo Tomori - AC Milan - shot with the head from the centre of the box missed. Assist - Tijjani Reijnders with a cross after corner. |
| 13' | | Fouled by Ismaël Bennacer - AC Milan |
| 13' | | Jacopo Fazzini - Empoli - won a free kick in defence. |
| 15' | | New attacking attempt. Emmanuel Gyasi - Empoli - shot with the head from the centre of the box is saved by goalkeeper in the centre of the goal. Assist - Giuseppe Pezzella with a cross. |
| 16' | | Corner - AC Milan. Conceded by Ardian Ismajli. |
| 17' | | Missed chance. Fikayo Tomori - AC Milan - shot with the head from the centre of the box missed. Assist - Ismaël Bennacer with a cross after corner. |
| 18' | | Fouled by Emmanuel Gyasi - Empoli |
| 18' | | Noah Okafor - AC Milan - won a free kick on the left wing. |
| 19' | | Corner - AC Milan. Conceded by Sebastian Walukiewicz. |
| 24' | | Christian Pulisic - AC Milan - won a free kick in defence. |
| 24' | | Fouled by Jacopo Fazzini - Empoli |
| 24' | | Jacopo Fazzini - Empoli - receive yellow card for a foul. |
| 25' | | Fouled by Tijjani Reijnders - AC Milan |
| 25' | | Nicolò Cambiaghi - Empoli - won a free kick on the left wing. |
| 26' | | Tijjani Reijnders - AC Milan - receive yellow card for a foul. |
| 27' | | Fouled by Davide Calabria - AC Milan |
| 27' | | Nicolò Cambiaghi - Empoli - won a free kick in defence. |
| 28' | | Ardian Ismajli - Empoli - won a free kick in defence. |
| 28' | | Fouled by Ruben Loftus-Cheek - AC Milan |
| 29' | | Missed chance. M'Baye Niang - Empoli - shot with right foot from a diffucult position on the left missed to the left. Assist - Giuseppe Pezzella with a cross. |
| 29' | | Fouled by Nicolò Cambiaghi - Empoli |
| 29' | | Ruben Loftus-Cheek - AC Milan - won a free kick in defence. |
| 30' | | Fouled by Ruben Loftus-Cheek - AC Milan |
| 30' | | Youssef Maleh - Empoli - won a free kick in defence. |
| 31' | | Fouled by Ruben Loftus-Cheek - AC Milan |
| 31' | | Jacopo Fazzini - Empoli - won a free kick in defence. |
| 31' | | Offside - Empoli. Szymon Zurkowski is in offside. |
| 32' | | New attacking attempt. Noah Okafor - AC Milan - shot with right foot from outside the box is saved in the left corner. Assist - Tijjani Reijnders. |
| 34' | | Fouled by Tijjani Reijnders - AC Milan |
| 34' | | Nicolò Cambiaghi - Empoli - won a free kick in defence. |
| 35' | | Fouled by Szymon Zurkowski - Empoli |
| 35' | | Ismaël Bennacer - AC Milan - won a free kick in attack. |
| 35' | | Elia Caprile - Empoli - won a free kick in defence. |
| 35' | | Fouled by Théo Hernández - AC Milan |
| 38' | | Missed chance. Christian Pulisic - AC Milan - shot with the head from the centre of the box missed. Assist - Tijjani Reijnders. |
| 39' | | Fouled by Malick Thiaw - AC Milan |
| 39' | | Nicolò Cambiaghi - Empoli - won a free kick on the left wing. |
| 39' | | Offside - Empoli. M'Baye Niang is in offside. |
| 40' | | Goal! AC Milan 1, Empoli 0. Christian Pulisic - AC Milan - shot with left foot from the centre of the box to the right corner. Assist - Noah Okafor.Goal awarded following VAR Review. |
| 41' | | VAR Decision: Goal AC Milan 1-0 Empoli - Christian Pulisic |
| 42' | | Substitution - Empoli. Bartosz Bereszynski for Ardian Ismajli - injury. |
| 43' | | Fouled by Szymon Zurkowski - Empoli |
| 43' | | Tijjani Reijnders - AC Milan - won a free kick in defence. |
| 45' | | Corner - AC Milan. Conceded by Emmanuel Gyasi. |
| 45+2' | | Corner - AC Milan. Conceded by Bartosz Bereszynski. |
| 45+3' | | Missed chance. Luka Jovic - AC Milan - shot with the head from the centre of the box missed. Assist - Ismaël Bennacer with a cross after corner. |
| 45+3' | | First Half ended - AC Milan 1, Empoli 0. |
| 45' | | Second Half starts AC Milan 1, Empoli 0. |
| 48' | | Offside - Empoli. Emmanuel Gyasi is in offside. |
| 48' | | Missed chance. Davide Calabria - AC Milan - shot with right foot from the right side of the box goes high. |
| 51' | | Delay in match - injury Ismaël Bennacer - AC Milan |
| 51' | | Delay in match - injury Youssef Maleh - Empoli |
| 51' | | Delay over. They are ready to continue. |
| 53' | | Davide Calabria - AC Milan - won a free kick on the right wing. |
| 53' | | Fouled by Giuseppe Pezzella - Empoli |
| 53' | | Giuseppe Pezzella - Empoli - receive yellow card for a foul. |
| 55' | | Hand ball by Tijjani Reijnders - AC Milan |
| 55' | | Substitution - Empoli. Liberato Cacace for Giuseppe Pezzella. |
| 55' | | Substitution - Empoli. Viktor Kovalenko for Jacopo Fazzini. |
| 56' | | Shot blocked. Nicolò Cambiaghi - Empoli - shot with right foot from the left side of the box is blocked. Assist - Youssef Maleh. |
| 56' | | Corner - Empoli. Conceded by Davide Calabria. |
| 56' | | Missed chance. Szymon Zurkowski - Empoli - shot with left foot from the left side of the box missed after corner. |
| 58' | | Missed chance. Ruben Loftus-Cheek - AC Milan - shot with right foot from outside the box goes high. Assist - Ismaël Bennacer. |
| 59' | | Corner - Empoli. Conceded by Davide Calabria. |
| 60' | | Fouled by Davide Calabria - AC Milan |
| 60' | | Szymon Zurkowski - Empoli - won a free kick on the left wing. |
| 62' | | Offside - AC Milan. Ismaël Bennacer is in offside. |
| 62' | | Substitution - AC Milan. Yunus Musah for Tijjani Reijnders. |
| 63' | | Substitution - AC Milan. Pierre Kalulu for Fikayo Tomori. |
| 63' | | Substitution - AC Milan. Samuel Chukwueze for Christian Pulisic. |
| 65' | | Fouled by Szymon Zurkowski - Empoli |
| 65' | | Yunus Musah - AC Milan - won a free kick in defence. |
| 65' | | Szymon Zurkowski - Empoli - receive yellow card for a foul. |
| 66' | | Shot blocked. Samuel Chukwueze - AC Milan - shot with left foot from the centre of the box is blocked. Assist - Noah Okafor. |
| 66' | | Corner - AC Milan. Conceded by Liberato Cacace. |
| 69' | | Fouled by Malick Thiaw - AC Milan |
| 69' | | M'Baye Niang - Empoli - won a free kick in attack. |
| 73' | | Substitution - AC Milan. Olivier Giroud for Luka Jovic. |
| 74' | | New attacking attempt. Ruben Loftus-Cheek - AC Milan - shot with left foot from outside the box is saved in the right corner. Assist - Ismaël Bennacer. |
| 74' | | Corner - AC Milan. Conceded by Elia Caprile. |
| 75' | | Corner - AC Milan. Conceded by Sebastian Walukiewicz. |
| 76' | | Fouled by Théo Hernández - AC Milan |
| 76' | | Youssef Maleh - Empoli - won a free kick in defence. |
| 76' | | Substitution - Empoli. Matteo Cancellieri for Szymon Zurkowski. |
| 76' | | Substitution - Empoli. Mattia Destro for M'Baye Niang. |
| 77' | | Missed chance. Davide Calabria - AC Milan - shot with the head from the right side of the six yard box goes high. Assist - Noah Okafor with a cross. |
| 79' | | Missed chance. Yunus Musah - AC Milan - shot with left foot from outside the box goes high. Assist - Samuel Chukwueze. |
| 80' | | Corner - Empoli. Conceded by Malick Thiaw. |
| 80' | | Fouled by Matteo Cancellieri - Empoli |
| 80' | | Théo Hernández - AC Milan - won a free kick in defence. |
| 80' | | Matteo Cancellieri - Empoli - receive yellow card for a foul. |
| 81' | | Dangerous play by Yunus Musah - AC Milan |
| 81' | | Sebastiano Luperto - Empoli - won a free kick in defence. |
| 83' | | Offside - Empoli. Mattia Destro is in offside. |
| 85' | | Fouled by Davide Calabria - AC Milan |
| 85' | | Nicolò Cambiaghi - Empoli - won a free kick in defence. |
| 86' | | Corner - Empoli. Conceded by Samuel Chukwueze. |
| 87' | | New attacking attempt. Mattia Destro - Empoli - shot with the head from the centre of the box is saved by goalkeeper in the centre of the goal. Assist - Liberato Cacace with a cross. |
| 90' | | Fouled by Davide Calabria - AC Milan |
| 90' | | Nicolò Cambiaghi - Empoli - won a free kick on the left wing. |
| 90' | | Substitution - AC Milan. Yacine Adli for Noah Okafor. |
| 90+3' | | Fouled by Matteo Cancellieri - Empoli |
| 90+3' | | Théo Hernández - AC Milan - won a free kick on the left wing. |
| 90+4' | | New attacking attempt. Samuel Chukwueze - AC Milan - shot with left foot from outside the box is saved in the left corner. Assist - Ismaël Bennacer. |
| 90+4' | | Corner - AC Milan. Conceded by Elia Caprile. |
| 90+5' | | Second Half ended - AC Milan 1, Empoli 0. |
| | Thats all. Game finished - AC Milan 1, Empoli 0. |