The Sicilian side tested Milan as Gonzalo Bergessio chipped Marco Amelia to give the Sicilians a 2-1 advantage early in the second half.
However, Giampaolo Pazzini's entrance turned the tide as he scored a brace in the span of three minutes off of botched goalkeeper parries.
Here are five things we learned from one of the most entertaining matches this season:
Enough Kevin Constant.
Even though the converted midfielder has had his moments under coach Massimiliano Allegri, the future belongs to the young starlet Mattia De Sciglio, who is a better option on the left side for both the present and future.
De Sciglio has poise far beyond his years and can come forward comfortably, blending defensive prowess with attacking flair. Starting against Catania was the right choice, and even Italian national team coach Cesare Prandelli sees a blue future in De Sciglio. The player has been called up several times to don the shirt of the Azzurri.
Mario Balotelli's genius lies in his unexpectedness on the pitch.
Anytime he's in possession, uncertainty lies ahead. He is just as capable of finding a streaking teammate in the box as he is unleashing a perfectly placed shot into the top corner from long distance.
With his constant maturation, expect Balotelli to become a consistent world-class talent next season.
Even though he spent most of the match against Catania complaining, he came through at the end with a wonderful run which resulted in the penalty.
Balotelli remains perfect from the penalty spot and brings his Serie A tally to eight goals.
No one thought Mathieu Flamini would play much of a role at Milan this season, other than the occasional start when one of the starters got injured.
Instead, the ex-Arsenal midfielder has been fantastic this calendar year, taking advantage of the playing time he has been given and winning himself into Allegri's favorite starting XI.
The Frenchman has scored in his last three matches in Serie A and has shown a box-to-box presence Milan sorely needs. He deserves a spot next year as well with these current performances.
This match was a roller-coaster ride for Milanisti, catapulting opposite emotions towards us in the span of a few minutes.
Milan now have a one-point lead over Fiorentina in the standings, and the Viola need to play Roma next week. Expect the Rossoneri to maintain their position on the table.
Interestingly enough, we might see Giampaolo Pazzini playing alongside Balotelli next week. It would be a new formation for Allegri and one which has been discussed.
Another poor performance from Stephan El Shaarawy means he might get relegated to the bench once again.
Il Faraone was uncharacteristic in front of goal, missing a golden chance by nearly 10 yards.
It's interesting to wonder if his lack of production is due to Allegri turning him into a left midfielder or if it's the player himself who chooses to tire himself out with his defensive work rate.
Clearly, his fatigue is leading to less lucid efforts when faced against the opposing goalkeeper.