In a game where Champions League qualification could have been secured, AC Milan stuttered their way to a 0-0 draw with Cagliari at the San Siro.
It was an encounter of few clear-cut chances, but the visitors, who had earlier learned of their Serie A safety thanks to a late Crotone equaliser elsewhere, defended deep and resolutely to frustrate their hosts.
Alexis Saelemaekers forced a great save from visiting goalkeeper Alessio Cragno, and Davide Calabria whizzed a long-range effort wide of the top-right corner as Milan struggled to break their opposition down.
Kessie ready to commit to Milan
In the second half, Stefano Poli would turn to his substitutes: Rafael Leao adding more bite and guile to the attack, allowing Hakan Calhanoglu to move more centrally. The Turk would rattle the post with a cross-shot, but not before home goalkeeper Gianluigi Donnarumma saved his defenders' blushes by clawing away a towering Diego Godin header from a Cagliari corner.
The Rossonieri would not give up; they would throw everything at Cagliari, going hammer and tongs as they desperately sought that elusive goal that would have guaranteed a top-four finish. Instead, it's off to Atalanta on the final day, who themselves have already qualified for Europe's elite competition.
Milan-Cagliari, Serie A 20-21
Image credit: Getty Images
TALKING POINT - TOOTHLESS MILAN, DOGGED CAGLIARI
It was a game of two halves, this one. Not with regards to both time periods, but between attack and defence. It was a defensive display for Italian history books from the visitors, but a tale of poor offensive output from the hosts, who, off the back of a 7-0 win against Torino last time out, one would have expected to have won this encounter at a canter.
Instead, Calhanoglu, Rebic, Diaz and alike would find themselves leggy; their interplay sloppy, the final ball not cutting edge enough to slice open the sealed Cagliari wall.
Saelemaekers was halted down the right by Charalampos Lykogiannis, and Rebic was marshalled out of the game by the brilliant Diego Godin at the heart of the visiting defensive trio. Calhanoglu was off with his set pieces as well, with Theo Hernandez, so often such a threat with his overlapping thrust down the left, almost invisible.
Milan: Donnarumma 6, Calabria 6, Kjaer 6, Tomori 6, Hernandez 5, Kessie 6, Bennacer 7, Saelemaekers 5, Diaz 5, Calhanoglu 6, Rebic 5, Leao 6, Castillejo 5, Dalot 5, Meite 50, Mandzukic 6.
Cagliari: Cragno 6, Ceppitelli 7, Godin 9*, Carboni 8, Nandez 6, Marin 7, Deiola 6, Lykogiannis 7, Joao Pedro 6, Nainggolan 6, Pavoletti 7, Cerri 7, Duncan 6, Asamoah 6, Klavan 6, Rugani 6.
MAN OF THE MATCH - DIEGO GODIN, CAGLIARI
Most will know him from his Atletico Madrid days, but the Uruguayan was the best player on the pitch, with a defensive masterclass on display.
He used every ounce of his experience to lead a usually shaky back five to a deserved point, and he was a threat in the opposing penalty area as well: his towering leap and header forcing an excellent reflex save from Donnarumma to keep the sub-par hosts in it.
The performance didn't matter tonight as the visitors knew they were safe, but they might not have been quite so safe without this man this season.
18': Given away carelessly by Marin.. Calhanoglu runs at Nandez, and feeds Saelemaekers! What a strike, matched by a great save!
30': Calabria! What an effort, and it sails just wide of the top corner!
65': In from Marin... what a save from Donnarumma! Godin's header, and the young 'keeper down to his right to claw it away!
66': Rebic's cross... Castillejo stealing in! Over!
72': Calhanoglu... going round the long way... oh! It's off the near post!
A Milan victory away at Atalanta will secure a top-four finish for them - but anything less, and they could be in trouble if Juventus and Napoli win their games.
Gazidis to begin treatment for throat cancer
AC Milan confirm signing of Chelsea striker Giroud