Stefano Pioli can dress this one up how he likes, but there is no getting away from the fact that it is a major blow for their Champions League aspirations. Their last game is far from easy compared to this one and he'll know it. Cagliari have forced play back to midfield and are holding steady.
90' +1
Castillejo! He pushes an effort around the left post, lofting it in from outside the box. Time is running out for what would surely be a winner now.
89'
M. Mandžukić enters the game and replaces H. Çalhanoğlu.
Milan also make a late switch, with Mario Mandzukic on for Calhanoglu. There will be five added minutes in this one.
88'
D. Rugani enters the game and replaces A. Carboni.
Daniele Rugani also replaces Andrea Carboni for Leonardo Semplici's men.
87'
R. Klavan enters the game and replaces L. Ceppitelli.
Luca Ceppitelli now makes way for Ragnar Klavan for the visitors too.
Kwadwo Asamoah replaces Alessandro Deiola for the visitors.
86'
K. Asamoah enters the game and replaces A. Deiola.
Cagliari are preparing to make a host of final changes now. They seem poised to simply ride this one out.
84'
Something of an unsung hero today, but Fikayo Tomori has been in deftly sturdy form at the back for the hosts as per. If Milan can prise him away from Chelsea, he will be a major boon to any challenge for silverware next term.
82'
The draw here will leave Milan particularly susceptible to Juventus however. It will move them only a point above the Bianconeri - still in a theoretical driving seat, but with their Champions League hopes particularly resting on a fine error of margin.
80'
There's 10 minutes on the clock and still no sign of a goal. Cagliari have been far more restricted over the latter stages of this game but it has been a particularly energetic display from them nevertheless. If this finishes 0-0, it's one of the more fun goalless draws of the season.
Minute
Description
78'
A. Duncan enters the game and replaces R. Marin.
A. Cerri enters the game and replaces L. Pavoletti.
Joseph Alfred Duncan replaces Razvan Marin for the visitors too.
Alberto Cerri replaces Leonardo Pavoletti now as Cagliari finally make those changes.
76'
Close from Rebic! A free-kick for Milan in the centre-right channel sets up a set-piece opportunity and the striker just drags his header wide at the far post.
72'
Back-to-back chances again for Milan! Calhanoglu sees Cragno save his effort and then Rebic skews one wide. They're getting closer and closer.
69'
There is still no sign of a change coming from the Cagliari bench, but the visitors are struggling to match the tempo in their own rear third right now. They may need one soon to ensure they stay watertight.
67'
Now a flurry of attempts from Milan - Castillejo, Kjaer and Calhanoglu - all come close to cracking the Cagliari backline, but again, the visitors hold firm. It is becoming a concern for the hosts.
63'
S. Meïté enters the game and replaces I. Bennacer.
Diogo Dalot enters the game and replaces D. Calabria.
Diogo Dalot replaces Davide Calabria in Milan's latest change now.
Ismael Bennacer also makes way for the hosts, with Soualiho Meite his replacement. Cagliari are yet to make a change.
62'
Now it is the turn of Godin to flash a header wide of the mark, pushing close to the left post with his deftly touched effort.
58'
D. Calabria gets yellow.
Calabria chops down Pedro now with a poor effort and gets booked for his troubles. Milan repel the subsequent set-piece however with an ease and comfort.
57'
Samu Castillejo enters the game and replaces Brahim Díaz.
Samu Castillejo replaces Brahim Diaz now in Milan's second change of the game.
56'
This has been a joyful game, which is something that hasn't always been applied as a descriptive term to the two sides on show. Both are shifting, ebbing and flowing throughout. It's particularly giddy to watch at points.
54'
Pavoletti! It's not quite in the realm of Gordon Banks' legendary save but Gianluigi Donnarumma just contorted himself immaculately to prevent the Cagliari man at close range. A crucial stop keeps Milan from conceding.
52'
A spate of corners and high pressure from Milan now keeps Cagliari under the cosh, but their defence, guided by Godin, proves equal to the task for the moment.
48'
Early chances at both ends in the opening exchanges of this new half now, as Nandez lofts a wide shot from distance for Cagliari, before Milan race down the other end and Calhanoglu sees Cragno save his low effort. There's been no drop in the tempo over the interval.
46'
Rafael Leão enters the game and replaces A. Saelemaekers.
There's been a change at the break for Milan and it is Rafael Leao who replaces Alexis Saelemaekers. Let us see how that one pans out.
We are back underway at San Siro for the second half of this contest. Can Milan find a winner here, or will it be Cagliari who keep their unbeaten streak hot to touch?
45' +3
HALF-TIME: MILAN 0-0 CAGLIARI
45' +2
Calhanoglu smashes the strike into the defensive wall and that will be that for the first half!
45'
A. Carboni gets yellow.
Carboni, the guilty party behind that challenge, is duly booked as the set-piece is lined up.
44'
Late danger as we approach the interval here, with Brahim Diaz felled just inside the "D" of the Cagliari penalty area. It's prime set-piece territory for Milan in what will likely be the last play of the half.
42'
Hernandez crashes a set-piece play over the bar from distance now. Both sides are getting their chances and taking them too, just without the results that they would be hoping for so far.
40'
R. Marin gets yellow.
A miscued Pedro touch still comes up trumps for a Cagliari corner now though, from which Leonardo Pavoletti pushes a deflected effort over. Milan promptly counter and Marin drags back Bennacer; he gets booked for his troubles.
36'
The set-piece is particularly ropey, and Milan have little trouble in clearing their lines this time around.
35'
Pedro isn't too far away from a dangerous flat cross swiped into the Milan box now, but the hosts do enough to cut off his access, albeit at the expense of a corner.
33'
S. Kjær gets yellow.
Simon Kjaer comes thumping in on Pedro and gets the first booking of the game for his troubles. The Milan man's tackle is key, but not perhaps worth the yellow card flashed his way.
31'
Davide Calabria with the monster shot! That hung in the air with a strangely crystalline clarity, but it soars beyond the far top corner after it is unloaded. Milan are pressing still for the opener.
29'
The empty echo of shouts around San Siro has still not made itself the norm despite the season we've had with nobody in stadiums. Games look to slowly be returning to normal, but the odd hollow wheeze will not be missed.
27'
A shot for the visitors! Radja Nainggolan prods an effort wide but it is a shot nevertheless, and a decent reminder that they're more than playing their part in this contest.
24'
Leonardo Semplici - who came back to the game after a year out following his SPAL exit this term of course - has dragged this side away from relegation since he arrived in February. The players seem to be keen to work for him, and he's mixing his instructions with disconcerting, beaming grins as they hold Milan away from their box.
22'
A quarter of the way through this game and neither side has broken the deadlock yet, but this has been far from a lethargic affair. Both teams so far have seen particularly up for the contest on the whole, though Cagliari are still to muster a single shot.
20'
Saelemaekers duly follows that effort up with a wayward strike from the resulting corner. He looks to be in the mood today.
18'
Saelemaekers with the shot! That is a good stop from Cragno, who gets a meaty glove to the Milan man's low-wattage rocket of a strike, clipped in towards the crossbar.
16'
There has already been twice as many passes from Milan as there has been from Cagliari. The Rossoneri aren't shy about moving it around now they've found a groove.
14'
Nandez catches Hernandez with a particularly clumsy effort now and though the latter is able to continue, he is moving a little bit more gingerly than he would hoping to be. That might be one tussle to keep an eye on throughout.
12'
Milan are reasserting themselves in the middle of the park now. their midfield finding a fluidity that had looked possibly a little bit too spongy in their early plays. This, with a few goals, could turn out to be a cracker of a game; just the sort you'd like to finish up the weekend with.
10'
Rebic gets sandwiched between two defenders on the edge of the visitors' penalty area and cannot disentangle himself in time to supply a dangerous pass for a team-mate lurking nearby.
8'
Hernandez does some sterling work to cut down another Cagliari encroachment now. This has been a particularly open trifle of a match so far.
6'
Cagliari execute a smart counter-press now though and enjoy a brief spell around the final third of the field, creeping around the edges of the hosts' box. They'll do well to keep that up if they can.
4'
Rebic whistles a low effort past the far post after he was fed by a neat dink to move onto the right flank. An early warning shot, fired across the bow by Milan.
2'
On paper, and despite the number of seasoned pros the visitors have packed into their side today - Diego Godin is still a superb footballer, even in his dotage - this really should go only one way. But Milan have had plenty such games this year where they've failed to deliver the goods.
1'
We are underway in this Serie A clash between Milan and Cagliari!
Hello and welcome to live coverage of the 2020-21 Serie A season, as Milan look to consolidate their Champions League berth against Cagliari at San Siro.
It's been a season of what-could-have-beens for Stefano Pioli and the Rossoneri - early trailblazers for the Scudetto in Juventus' hit-and-miss form, before Inter pulled away. But three points here would seal a top four spot over the Bianconeri - and that remains a bare minimum for the hosts.
Leonardo Semplici's side meanwhile have survived the relegation battle - just - and avoided a drop to Serie B with just two games to go. Freed from the anchor of sudden death football, they may allow themselves to relax tonight - and could prove a more freewheeling opponent than anticipated.
Subs: Diogo Dalot, Soualiho Meite, Rade Krunic, Sandro Tonali, Pierre Kalulu Kyatengwa, Alessio Romagnoli, Samu Castillejo, Daniel Maldini, Ciprian Tatarusanu, Mario Mandzukic, Rafael Leao, Jens Hauge.
MILAN (4-2-3-1): Gianluigi Donnarumma; Davide Calabria, Simon Kjaer, Fikayo Tomori, Theo Hernandez; Ismael Bennacer, Franck Kessie; Alexis Saelemaekers, Brahim Diaz, Hakan Calhanoglu; Ante Rebic.
Subs: Guglielmo Vicario, Simone Aresti, Giovanni Simeone, Kwadwo Asamoah, Ragnar Klavan, Alberto Cerri, Gabriele Zappa, Matteo Tramoni, Daniele Rugani, Riccardo Sottil, Joseph Alfred Duncan, Alessandro Tripaldelli.
The teams have emerged at San Siro and we are moments away from kick-off.
Leonardo Semplici is surely going to be the happier of the two men sat in opposite dugouts today on the basis of the opening 45 minutes in Milan. But Stefano Pioli will know his team are getting closer. This still has a long way to go.
But Stefano Pioli now faces a nervy wait until the final round of the season, to ensure that his side will be at the European high table next season. They sit fourth on head-to-head records, a point ahead of Juventus, meaning their fate is their own - but they surely cannot afford any more slip-ups.
More to the point, it does not get any easier for them too. While Bologna await Juventus, and third-place Napoli face Verona, Milan finish up against second-place Atalanta - a side they could moved level with in victory today. Cagliari meanwhile finish with Genoa - but until then, thank you for joining us and have a great week!
Leonardo Semplici has a small grin on his face, and why not? It is seven top-flight games now that his side have gone unbeaten, and they've taken points of another of the big guns. He and his side will be around next season.
Commentary
More…