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.
|Barcelona 1 Real Sociedad 0: Coutinho stunner lights up Iniesta´s farewell|
|Lazio 2 Inter 3: Spalletti´s men seal Champions League qualification with stunning comeback|
|Royals reach play-offs as Kings XI come up short|
|Nadal sees clearly after Rome rain is gone|
|Double whammy for Zverevs as Mischa bows out in Geneva|
|Atletico Madrid pay fitting tribute to tearful Torres|
|Hull FC claim derby spoils, Dragons off the bottom|
|Buzarnescu battles through as McHale impresses in Nuremberg|
|Neymar an artist who will not need special treatment - new PSG coach Tuchel|
|Atletico Madrid 2 Eibar 2: Torres bows out with a double|
|Napoli 2 Crotone 1: Milik and Callejon condemn visitors to the drop|
|Iniesta starts on Barcelona goodbye but Messi rested|
|Nadal rallies after rain break to dethrone Zverev in Rome|
|AC Milan 5 Fiorentina 1: Cutrone brace secures Europa League group stage spot|
|I think I made a fantastic decision - Garoppolo key to Sherman joining 49ers|
|FIFPro appeals to FIFA over Guerrero World Cup ban|
|Neymar made mistake joining PSG - Rivaldo|
|Simple for Simon as outstanding Yates extends Giro advantage|
|Ulster qualify for Champions Cup as Biggar makes history|
|Neymar tired of rumours and staying at PSG, president Al-Khelaifi claims|
|Beaten Halep calms injury concerns ahead of French Open|
|Van der Vaart´s Midtjylland nightmare set to end|
|It has been a crazy ride - Klopp proud of Liverpool ahead of Champions League showdown|
|Raonic pulls out of French Open|
|Liverpool youngster Alexander-Arnold not overwhelmed by England call-up|
|Torres captains Atletico Madrid on farewell|
|Otaegui claims second European Tour win at Belgian Knockout|
|Green: Warriors play best when we feel threatened|
|Daredevils dump out defending IPL champions Mumbai|
|Fan shows off Monk face tattoo on bottom|
|Bayern Munich chief Hoeness rules out spending spree|
|Fury to take on Albanian Seferi in Manchester next month|
|Mourinho mind games won´t distract from Manchester United´s paused progress|
|My motivation is intact - Ranieri open to offers following Nantes exit|
|Shields would probably have made All Blacks squad - Hansen|
|Willian fuels rift talk by hiding Conte with emojis in cup photo|
|Marquez extends lead at Le Mans as Dovizioso crashes again|
|Top-six mentality a boost to England´s World Cup hopes – Southgate|
|Dominant Svitolina retains in Rome as Halep sustains injury scare|
|I´d play for free! - Fifita desperate for State of Origin call-up|
|Plea satisfied with Nice exit as big changes beckon|
|Boateng open to leaving Bayern for move abroad|
|Napoli slam ´shameful and offensive´ Juventus celebrations|
|Red Star´s open-top bus goes up in flames|
|Klopp rejects Liverpool´s Champions League final underdogs tag|
|Root trusts batting form to ´click´ for England|
|Matic wants Man Utd to back Mourinho in transfer market|
|Walker out with eye socket fracture following Melbourne-Manly brawl|
|Don´t try it at home! - LeBron wows with game three passing|
|Dragons restore two-point lead, Sharks battle past Bulldogs|
|Any club would want Buffon, says PSG president|
|Villarreal renew Calleja contract after Europa League qualification|
|Talisca heading to Premier League, hints Besiktas boss|
|Celtics ´needed to get our butts whooped´ by Cavs, says Rozier|
|Bayern should have had a penalty, admits Boateng|
|NBA great Bill Russell released from hospital|
|When I play I´m Luca, not Zidane – Zinedine´s son distances himself from father|
|Barzagli: Buffon the greatest of all time|
|Indians ace Kluber becomes first in AL to seven wins|
|MLS Review: Two-goal Villa inspires NYC rout, Timbers stay hot|
|Kuznetsov sets Capitals´ playoff points record|
|Stevenson-Jack showdown ends in majority draw|
|Galatasaray win 21st Turkish title on final day|
|Cavaliers rout Celtics to cut series deficit to 2-1|
|Harvick holds off Suarez to win All-Star race and $1m|
|All Blacks name three new faces for France Tests|
|Mo Salah 15 years behind Cristiano Ronaldo – Klopp|
|Jaguares extend winning streak with Bulls thrashing|
|Nobody is bigger than PSG, says Al-Khelaifi amid doubts over Neymar|
|Warrington targets Frampton after Selby upset|