Milan and Juventus shared the points at San Siro in a Serie A encounter that failed to excite either side. Despite late chances and a disallowed goal, neither team could find the back of the net, leaving the race for Champions League qualification wide open.
The match was a crucial juncture for both teams’ seasons. Milan, holding a slender three-point lead over Juventus in third place, sought to extend their advantage and close the gap on Napoli. Juventus, meanwhile, desperately needed a positive result to fend off the charging Como and Roma in the battle for fourth spot. Milan’s Davide Bartesaghi played despite not being fully fit, while Juventus were without Arkadiusz Milik and Juan Cuadrado, with Kenan Yıldız and Dušan Vlahović only fit enough for the bench.
Early in the first half, Youssouf Fofana shot wide from a difficult angle, while Adrien Rabiot forced a save from Michele Di Gregorio with a powerful strike, followed by a Rafael Leão effort that went over the bar. Juventus thought they had taken the lead when Khéphren Thuram slotted the ball home, but the Frenchman was flagged offside.
Francisco Conceição posed a threat down the right flank, testing Mike Maignan with a shot that the goalkeeper parried with his chest. Bartesaghi, struggling with his fitness, was replaced by Pervis Estupiñán at halftime.
Milan came agonizingly close to scoring when Alexis Saelemaekers unleashed a ferocious strike from ten yards out that crashed against the underside of the crossbar, assisted by Leão. Juventus immediately launched a counter-attack, with Jonathan David going down just outside the box, but the referee saw no foul.
Luka Modrić had to be substituted after an accidental clash of heads with Manuel Locatelli, leaving him dazed. He was replaced by Ardon Jashari.
Later in the second half, David narrowly missed connecting with a dangerous cross, and Vlahović had a shot parried by Maignan after being caught offside.
This second consecutive 0-0 draw between Milan and Juventus this season highlights a concerning trend for Milan, who have now failed to score against Juventus in their last six Serie A encounters.
Match Details
Milan 0-0 Juventus
San Siro Stadium (Stadio Giuseppe Meazza)

Milan
Player Statistics
1st half
| 20′ | Andrea Cambiaso |
| 38′ | Davide Bartesaghi |
2nd half
| 72′ | Jeremie Boga |
| 75′ | Pervis Estupiñán |
| 86′ | Manuel Locatelli (Yellow card) |
Match Statistics
Possession %
Total shots
Shots on target
Shots off target
Blocked shots
Corners
Offsides
Fouls
Lineups
Milan
| No. | Player | Position | Subs |
|---|---|---|---|
| 16 | Mike Maignan | Goalkeeper | |
| 33 | Davide Bartesaghi | Defender | 46′ |
| 23 | Fikayo Tomori | Defender | |
| 46 | Matteo Gabbia | Defender | |
| 31 | Strahinja Pavlovic | Defender | |
| 12 | Adrien Rabiot | Midfielder | |
| 56 | Alexis Saelemaekers | Midfielder | |
| 14 | Luka Modrić | Midfielder | 80′ |
| 19 | Youssouf Fofana | Midfielder | 67′ |
| 11 | Christian Pulisic | Attacker | 62′ |
| 10 | Rafael Leão | Attacker | 80′ |
Substitutes (Milan)
| 1 | Pietro Terracciano | Goalkeeper |
| 5 | Koni De Winter | Defender |
| 8 | Ruben Loftus-Cheek | Midfielder |
| 7 | Santiago Giménez | Attacker |
| 24 | Zachary Athekame | Defender |
| 37 | Matteo Pittarella | Goalkeeper |
| 27 | David Odogu | Defender |
| 2 | Pervis Estupiñán | Defender |
| 9 | Niclas Füllkrug | Attacker |
| 4 | Samuele Ricci | Midfielder |
| 18 | Christopher Nkunku | Attacker |
| 30 | Ardon Jashari | Midfielder |
Juventus
| No. | Player | Position | Subs |
|---|---|---|---|
| 16 | Michele Di Gregorio | Goalkeeper | |
| 27 | Andrea Cambiaso | Defender | 71′ |
| 3 | Bremer | Defender | |
| 6 | Lloyd Kelly | Defender | |
| 15 | Pierre Kalulu | Defender | |
| 19 | Khéphren Thuram | Midfielder | 71′ |
| 5 | Manuel Locatelli | Midfielder | |
| 22 | Weston McKennie | Midfielder | |
| 7 | Francisco Conceição | Attacker | 80′ |
| 13 | Jeremie Boga | Attacker | 80′ |
| 30 | Jonathan David | Attacker | 87′ |
Substitutes (Juventus)
| 23 | Carlo Pinsoglio | Goalkeeper |
| 1 | Mattia Perin | Goalkeeper |
| 21 | Fabio Miretti | Midfielder |
| 4 | Federico Gatti | Defender |
| 20 | Loïs Openda | Attacker |
| 18 | Filip Kostic | Midfielder |
| 8 | Teun Koopmeiners | Midfielder |
| 2 | Emil Holm | Defender |
| 11 | Edon Zhegrova | Attacker |
| 10 | Kenan Yıldız | Attacker |
| 9 | Dusan Vlahovic | Attacker |

