A Hakan Calhanoglu goal sealed the win, after Fiorentina had come from behind to lead thanks to goals from Erick Pulgar and Franck Ribery. Zlatan Ibrahimovic had opened the scoring for the visitors, and Brahim Diaz levelled things up.
It’s a massive win for the Rossoneri, who put some pressure on Inter by cutting the gap to six points, though the Nerazzurri have one game in hand.
Back in Serie A for the first time since February 28th, it took only 17 minutes to Zlatan Ibrahimovic for scoring. A long pass from Simon Kjaer found the Swede beyond Fiorentina’s defense: he controlled it and then smashed it for his 15th goal of the season, the oldest player to ever reach this amount in Serie A’s history with 39 years and 169 days.
Erick Pulgar fired back eight minutes later with a curling free-kick from the edge of the box that beat Gianluigi Donnarumma on the nearpost.
A thrilling first half has been made even more exciting by the fact that both teams hit the bar.
German Pellezza hit it with a backheel flick while a soft lob from Ibrahimovic went past Dragowski only to bounce off it.
Five minutes into the second-half, Fiorentina completed their comeback with Franck Ribery who, assisted by Dusan Vlahovic, anticipated Kessie’s tackle and curled it past Donnarumma with a delightful first-time left shot.
It looked like a knock-out punch for Milan but Stefano Pioli’s side managed to get back in the game almost immediately as Brahim Diaz scored the 2-2 with a tap-in from short range after a deflection from Simon Kjaer on a corner kick.
With the game levelled once again, Milan started to push looking for the win more decisively than Fiorentina, who struggled to contain the Rossoneri.
A quick counterattack with less than twenty minutes to go broke the deadlock for the third and final time: Diaz recovered the ball, Kessié ran with it until the edge of the box and then served Calhanoglu. The Turk’s shot wasn’t that powerful but it was accurate enough to finish his run into the far bottom corner.