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.
|Messi ´never imagined´ his success after winning record fifth Golden Shoe|
|WATCH: Timberwolves´ Gibson tries to block shot with his trainer|
|Mourinho sacked: Klopp praises departed Manchester United boss|
|Mourinho sacked: Jose the best Manchester United manager since Ferguson - Gerrard|
|Mourinho sacked: Ferdinand calls for ´fresh ideas´ at Man United|
|Mourinho sacked: The mystique has gone as United spell ends in divorce|
|´He´s an interest not only for us but for many´ - Zola praises rumoured Chelsea target Wilson|
|Mourinho sacked: Pochettino focused on Spurs amid Manchester United rumours|
|Mendis eyes double-century for departing Samaraweera|
|Mourinho sacked: Zola expects Jose to be in another job ´soon´|
|Mourinho sacked: Five reasons it went wrong at Manchester United|
|Mourinho sacked: Jose´s Manchester United record in Opta stats|
|Mourinho sacked: Pogba, Ronaldo and Jose´s biggest bust-ups|
|Mourinho sacked: Blanc, Solskjaer - the men who could steady the United ship short-term|
|Mourinho sacked: The football world reacts|
|Mourinho sacked: What former United stars said after Liverpool loss|
|Mourinho sacked: Where next for the axed Manchester United boss?|
|UEFA to investigate alleged racist incidents at Vidi-Chelsea|
|Australia unchanged for rest of India series|
|Mourinho sacked: Pogba´s tweet a dig at departing Man United boss?|
|Newton left frustrated by shoulder injury as Panthers lose again|
|Mourinho sacked: Pochettino & Zidane lead potential Man Utd replacements|
|Mourinho sacked: Neville urges Man United to go for Pochettino|
|Boylen pleased to see Bulls react to red rag in Thunder fracas|
|Icardi and Inter ´very far´ apart in contract negotiations|
|Mourinho leaves Manchester United|
|Curry humbled by latest milestone|
|Robertson: ´Unbelievable´ Alisson will bounce back from error|
|Curry scores 15,000th regular-season point in Warriors win|
|Rams star Gurley ´day-to-day´ with knee inflammation|
|Saints poised to clinch NFC top seed after topping Panthers|
|Mathews, Mendis centuries frustrate New Zealand|
|Kohli: Relentless Australia deserved victory|
|Relief for Paine and Australia after ending Test drought|
|Australia level series with dominant win over India|
|Libertadores holders River learn group as CONMEBOL boss calls for end to violence|
|Chargers RB Gordon planning to return against Ravens|
|Kobe Bryant visit motivated Browns´ Jabrill Peppers|
|De Bruyne: Fatigue not behind injury woes|
|´That´s not my concern´ - Broncos coach Joseph on job security|
|Lowry on Leonard´s free agency: I just want him to be happy|
|Yankees give Sabathia $500K bonus despite ejection|
|Ronaldo confirmed Juventus interest in January – Mendes|
|Lakers guard Rondo to begin rehab stint in G League|
|Saiz to leave Leeds United for Getafe|
|Whyte thinks Joshua rematch is ´only a matter of time´|
|Greenwood stars as Man United end Chelsea´s FA Youth Cup dominance|
|Panthers tight end Olsen expects ´full recovery´ after surgery|
|Derby County 0 Nottingham Forest 0: Lampard´s men fourth after tense stalemate|
|Clermont lose former All Black Toeava for six months|
|MLS unveils revamped playoff format for 2019 season|
|Ferrari to celebrate Schumacher´s 50th birthday with museum exhibition|
|Rabiot set for PSG exit after cancelling contract talks|
|Pepe departs financially troubled Besiktas|
|Philadelphia Flyers fire coach Dave Hakstol|
|Eagles to start Foles v Texans|
|PSG matches against Montpellier and Dijon rearranged|
|Martial agent clouds long-term future after United trigger extension|
|Zverev to make major final in 2019, predicts Ferrero|
|Canelo, Crawford, Lomachenko and the other pound-for-pound contenders|
|Barcelona boss Valverde admits to Lyon uncertainty|
|Club World Cup: Maverick Quintero gets another chance on the big stage|
|Henderson to miss majority of Ireland´s Six Nations campaign|
|Gentner to play on despite father´s death|
|Just good banter – Australia and India not concerned by Paine-Kohli exchange|
|Titans CB Logan Ryan out for season with broken leg|
|Suns send Trevor Ariza to Wizards for Kelly Oubre, Austin Rivers|
|Mourinho charge for ´improper´ language dismissed|
|Are the Knicks for sale? Depends on the offer, says Dolan|
|Klopp´s Liverpool are vulnerable – Neuer|