Milan narrowly missed out on a top four finish in Serie A on the final day of the season, despite battling to a 3-2 win over SPAL. Both Inter and Atalanta won their respective matches, condemning I Rossoneri to a fifth place finish at the end of the season.
It was a perfect start to the match for Milan as they raced into a two-goal lead within 23 minutes. Hakan Calhanoglu got the ball rolling with a superb finish into the bottom corner and Franck Kessie consolidated his side's position with a thunderous effort which soared into the top corner.
Milan's lead was soon halved though, as SPAL pulled a goal back through defender Francesco Vicari. Milan looked disorganised from a long-range free-kick and Viacari rose highest to nod the ball beyond substitute keeper Pepe Reina.
The second half began with a bang as Milan saw their lead vanish. SPAL came out after half time and deservedly levelled the tie through Mohamed Salim Fares. The winger was afforded too much space at the back post and headed home to put the tie on a knife's edge.
The visitors responded well to the setback and were afforded the chance to regain the lead after the hour mark when Krzysztof Piatek was bundled over in the box. Kessie made no mistakes from the spot, driving it home for his second of the night.
That proved to be the final action of a pulsating match, with Milan's fate ultimately being confirmed by Inter and Atalanta's successes.
Starting XI: Viviano (5); Cionek (5), Vicari (7), Bonifazi (6); Lazzari (6), Valoti (7), Murgia (7), Kurtic (6), Fares (7); Petagna (6), Antenucci (5).
Substitutes: Jankovic (6), Floccari (5), Simic (N/A).
Key Talking Point
Milan's fate was out of their hands heading into this one, but they knew that they would still have to secure a win to give themselves a chance of finishing in the top four.
They couldn't have started the game any better and after Kessie put them two goals to the good, it looked as if the win would simply be a formality - particularly as SPAL had nothing but pride to play for. However, once SPAL got their noses back into the match, Milan became nervous and were guilty of lacking defensive solidity or composure on the ball.
They just about recovered to earn the win, but their efforts proved to be in vain as both Inter and Atalanta secured wins in their respective matches to claim the remaining positions in the top four. It'll come as a huge blow for Milan, who may suffer the consequences of their final position in the summer transfer window.
Starting XI: Donnarumma (N/A); Abate (5), Musacchio (5), Romagnoli (6), Rodriguez (5); Kessie (8*), Bakayoko (7), Calhanoglu (6); Suso (5), Borini (6), Piatek (5).
Substitutes: Reina (6), Cutrone (4), Conti (N/A).
Star Man - Franck Kessie
No questions about who Milan's star man was, as Kessie had a hand in all three goals and was by far the most influential player on the park.
The Ivorian provided the assist for the opening goal, scored with a sensational finish for Milan's second and demonstrated nerves of steel to confidently tuck home his penalty. His future remains uncertain and with Champions League football no longer on the cards, Kessie may have bowed out on a very bittersweet note.