Franck Kessie scored twice as AC Milan earned a comeback 2-1 win at lowly Cagliari in a match that both teams finished with 10 men.
Despite spending heavily during the previous transfer window, the Rossoneri endured a desperately disappointing first half of the campaign which led to the dismissal of Vincenzo Montella in November.
Gennaro Gattuso has endured mixed results since taking over and it looked like being another bad day at the office when Cagliari opened the scoring after Gianluigi Donnarumma failed to keep out a weak Nicolo Barella effort.
Donnarumma made up for that misjudgement to deny Diego Farias and Kessie - one of Milan's pre-season arrivals who has struggled to hit top form - levelled proceedings from the penalty spot after Luca Ceppitelli fouled Nikola Kalinic.
Kessie completed the turnaround on the stroke of half-time, but the visitors had to see it out the hard way when Ricardo Rodriguez was dismissed for a second bookable offence 10 minutes from time.
However, Barella also saw red in the closing stages as Milan earned back-to-back wins in Serie A for the first time since September to climb from 10th to seventh in the table, but still 11 points adrift of rivals Inter, who face Roma later on Sunday, in fourth.
Milan fell behind in the eighth minute thanks to Donnarumma's error.
Cagliari worked the ball left to Barella and he drove into the area before curling a tame-looking effort towards the far post that bobbled over the Milan goalkeeper's arm.
Artur Ionita then wastefully blazed over, while, at the other end, Kessie saw a stinging long-range effort saved by Alessio Cragno.
Donnarumma then atoned for his earlier error, saving one-on-one from Farias - on as a substitute for injured captain Marco Sau - after Luca Cigarini's throughball split Milan's defence.
Milan were gifted a lifeline when Ceppitelli failed to win the ball when sliding to tackle Kalinic in the area and Kessie placed the resulting penalty low to the bottom-right corner.
It should have been 2-1 when Kessie teed up Kalinic, but he shot straight at Cragno from near the centre spot.
But when the combination was reversed four minutes before the break, Kessie made no mistake, sweeping Kalinic's lay-off into the bottom-left corner from eight yards.
Cagliari had Cragno to thank for keeping the deficit to one when he flung himself high to his right to keep out Giacomo Bonaventura's 25-yard drive early in the second half.
Milan wasted a lightning three-on-two counter as Suso's pass was overhit, while Hakan Calhanoglu did not know whether to shoot or pass the loose ball and ended up skewing into the stands.
Rodriguez, who had earlier been booked for a comical rugby-style tackle on Paolo Farago, was then sent off for a cynical foul on the same player.
The numbers were evened when Barella also earned his marching orders two minutes from time for a trip on Lucas Biglia having already been booked, but Cagliari almost snatched a point when Leonardo Pavoletti headed wide from Andrea Cossu's corner with the last action of the match.
Key Opta stats:
- AC Milan won an away Serie A game for the first time since November (vs Sassuolo).
- AC Milan conceded a goal in the opening 15 minutes for the first time in Serie A this season.
- Franck Kessié has scored five goals from the five penalties he has taken in Serie A.
- Giacomo Bonaventura made his 200th Serie A appearance.