A lucky deflection on a Juan Vargas set piece gave the Tuscan outfit the early 1-0 lead, and then a second-half goal from Borja Valero signaled the end for Milan's hopes of getting points from this match.
Without further ado, let's take a look at five things we learned from this pivotal Serie A encounter.
Twelve points from 11 points means the end might be near for Massimiliano Allegri. Forget about the coach resigning himself; this would mean he'd be forfeiting a paycheck that is guaranteed until the end of the season if he were to be fired.
This was the second consecutive match where Mario Balotelli looked anonymous, hapless and out of control.
Not only could he not establish himself in the game, but he picked up a needless yellow card from an idiotic foul on Fiorentina goalkeeper Neto, which means Balotelli will miss the next match.
Correspondent Tancredi Palmeri of beIN Sport was pitch side at the match and reported via his Twitter page that it was the first time he had heard a crowd turn against Balotelli so much.
Milan will go as far as he takes them, and unfortunately they're sinking together.
Other than Kaka, who was Milan's player of the match for his selfless effort off the ball and constant professionalism despite the situation, the team looked lost and without a clue.
After the match, Milan full-back Ignazio Abate told beIN Sport's Palmeri that if he knew what was wrong with the team, he'd fix it himself, and that they cannot compete at the moment.
There was no hunger from most of the players, who couldn't rise to the occasion after facing plenty of adversity all around the stadium, as the crowd jeered them incessantly for most of the second half.
Although many fans have been curious to see him play, it seemed like an inopportune time to give 21-year-old Riccardo Saponara his Serie A debut with Milan in such conditions.
Asking a player who never stepped on a top-flight pitch in his life to be the difference maker after coming back from injury was hardly the right move. He failed to make an impact on the game and comically skied a wide-open goal opportunity.
Saponara will get his moments, but he needs to be weaned into the team slowly and not asked to be a hero in such hostile conditions.
Other than Saponara, the entrance of seldom-used M'Baye Niang was also bizarre. He could be one of the strikers moving away in the January transfer window, and he has fallen out of Milan's plans after a downfall that happen shortly after he played Barcelona in the Champions League last season.
Needless to say, the substitutions didn't work out, and fans were left with many more questions circling around in their heads.
If Roma win against Torino, they'll have a 21-point advantage over Milan in the standings.
To put matters into perspective even more, the third-place side in the table has a 16-point advantage over the disappointing Rossoneri.
Sure, Milan made a fantastic comeback last season, but that was in a much different league. The teams at the top of Serie A all strengthened during the summer and have a wider gap at this stage in the season than they did in the last campaign.
Unless Milan go on a dramatic rampage through the current Champions League session and win the cup, expect their chances of making it back there next season about as good as Cristian Zaccardo scoring a scorpion kick from outside the box.