AC Milan claimed a crucial 1-0 victory over top-four rivals Lazio as Franck Kessie kept his cool amid penalty drama at San Siro.
Gennaro Gattuso's men won for the first time in five Serie A matches to finish Saturday in the Champions League qualification places after Kessie slotted in from 12 yards 11 minutes from time.
Milan had only just had a spot-kick award overturned via a VAR review after referee Gianluca Rocchi decided Francesco Acerbi could do little when Hakan Calhanoglu drove the ball at his elbow.
But Lazio substitute Riza Durmisi wasted that reprieve by barging into Mateo Musacchio, showing a level of composure in stark contrast to that of Ivory Coast midfielder Kessie.
Tempers were frayed at full-time as players from both sides were involved in skirmishes, with Gattuso playing the unlikely role of peacemaker.
Pepe Reina, starting once more in place of the injured Gianluigi Donnarumma, made a stunning reaction save in the third minute when Ciro Immobile sidefooted towards the bottom corner after a twinkle-toed run from Joaquin Correa.
Milan struggled to impose themselves during the opening exchanges, but Suso lifted over in the 31st minute following excellent hold-up play from Krzysztof Piatek.
The Poland striker then looped a header narrowly wide before Immobile struck the post in the 43rd minute.
Correa's departure through injury early in the second half hindered Lazio, although Lucas Leiva fired Luis Alberto's right-wing corner into the side netting.
Cristian Zapata came on for injured Milan captain Alessio Romagnoli and embarked upon a mazy 70th-minute run from defence, playing in Piatek to be denied by Thomas Strakosha.
The Lazio goalkeeper then found himself preparing for two penalties in quick succession and guessed incorrectly from the one he faced.
In a taste of what was to come, Lazio boss Simone Inzaghi was sent off for losing his cool with the officials, while Sergej Milinkovic-Savic's rejected penalty appeal following Ricardo Rodriguez's stoppage-time challenge also did little for the visitors' collective mood.
What does it mean? Gattuso's men back in position
Defeat in last month's derby against Inter threatened to derail Milan's season and the subsequent slump could still damage them in the final reckoning. As such, this felt like a must-win contest for Gattuso's side. Lazio are five points back in eighth and below Atalanta and Torino, who also have a game in hand on Milan and fifth-placed Roma.
Correa dazzles before departure
Lazio still have a chance of finishing in the top four but those will dwindle if Argentina international Correa is absent for any extended period of time. A bright and instinctive attacking presence, the ex-Sevilla man linked impressively with Immobile as Lazio enjoyed the better of the first half. Immobile's influence was significantly reduced when he was paired with the more robust Felipe Caicedo.
Durmisi the dummy
Acerbi brilliantly marshalled the Lazio defence for most of the contest, largely shackling Piatek. It took Durmisi fewer than five minutes to undo his team-mates' good work with a moment of utter brainlessness.
Key Opta stats
- Milan are unbeaten in their last 29 encounters at home against Lazio in Serie A: the longest such run for the Rossoneri against a side in the top-flight.
- Milan have won each of the five games where Franck Kessie has found the net in Serie A this season - against Roma, Sassuolo, Parma, Empoli and Lazio.
- Lazio have conceded 33 per cent of their goals in the last 15 minutes of the games (11 of 33), the highest ratio in the competition.
- Only Lionel Messi (nine) has hit the woodwork more times than Ciro Immobile (eight) in the Top-5 European Leagues 2018-19.
Lazio play the first of two home games in a week when they host relegation-threatened Udinese, while Milan's trip to Parma next Saturday could also have implications at either end of the table.