Giacomo Bonaventura scored the only goal of the game as AC Milan made it 10 matches unbeaten in all competitions with a 1-0 Serie A win over Sampdoria.
The Rossoneri have experienced a significant upturn in fortunes under Gennaro Gattuso and they dominated an eventful contest at San Siro.
Ricardo Rodriguez saw a seventh-minute penalty saved, but Milan were not punished for his profligacy and Bonaventura netted what proved to be the decisive goal six minutes later.
But the remaining 77 minutes were filled with incident, Milan seeing a Leonardo Bonucci effort ruled out for offside while Hakan Calhanoglu struck the crossbar.
A lifeless Sampdoria team did not offer a genuine threat until Gianluca Caprari squandered a late chance to equalise and seventh-placed Milan now move level with them on 41 points, just seven points adrift of a Champions League qualification berth.
Next for Milan is the second leg of a Europa League round-of-32 tie with Ludogorets that they appear to have wrapped up thanks to a 3-0 victory in the first meeting, before Gattuso's credentials will receive their sternest test yet with league games against Roma and Inter either side of the second leg of the Coppa Italia semi-final with Lazio.
2 - The last two Giacomo Bonaventura's goals in Serie A arrived thanks to Davide Calabria assists. Duo. #MilanSampdoria— OptaPaolo (@OptaPaolo) February 18, 2018
Milan threatened inside the first three minutes as Bonaventura headed straight at Emiliano Viviano from a Riccardo Montolivo cross but a better opportunity was squandered by Rodriguez four minutes later.
Samp left-back Nicola Murru blocked a cross from the right with his arm and referee Daniele Doveri duly pointed to the spot.
However, Rodriguez's penalty was a tame one and Viviano got down low to his left to turn the ball behind.
But Viviano was picking the ball out of his net soon after as Milan broke the deadlock with a wonderful move.
Suso played in Davide Calabria down the right and he whipped in a magnificent delivery for the onrushing Bonaventura, the unmarked midfielder firing a first-time volley into the ground and underneath Viviano.
Suso and Calhanoglu both had efforts deflected wide as Milan spent much of the first half camped in the Samp half, but the visitors were aggrieved not to be awarded a penalty of their own, the VAR opting not to punish Calabria's apparent handball with a spot-kick.
But Samp were grateful to the VAR shortly before half-time when Suso and Calhanoglu orchestrated a well-worked free-kick, the latter's low cross turned in by Bonucci, only for the centre-half to be correctly adjudged to have been offside on review.
The frame of the goal rescued Samp seven minutes after the restart as Calhanoglu's fierce effort from the edge of the area cannoned off the top of the crossbar, before Suso shot across the face of goal with the net at his mercy at the far post.
Vivano denied both Calhanoglu and Calabria to keep Samp in it but, despite a late scare when substitute Caprari fired wide at the far post, Milan gained ground on fourth-placed Inter to perhaps open another avenue back into the Champions League.
1 goal scored / gol segnato— AC Milan (@acmilan) February 18, 2018
1 penalty missed / rigore sbagliato
1 goal disallowed / gol annullato
3 BIG FAT POINTS / IMPORTANTISSIMI PUNTI#MilanSampdoria 1-0
14' @giacomobona pic.twitter.com/ytUGBLI0x4
Key Opta stats:
- AC Milan has won five out of their last six league games, the same amount of wins as in the previous 17.
- Milan are now unbeaten in their last seven league games (5W 2D) for the first time since February 2016.
- Sampdoria have lost six out of their last nine away games played in Serie A (2W 1D).
- Sampdoria did not find the net in this game, after they have scored at least a goal in each of their previous eight league matches.
- Giacomo Bonaventura has scored five goals in Serie A since Gennaro Gattuso took over as Rossoneri head coach, at least two more than any other Milan player.
- The last two Bonaventura's goals in Serie A arrived thanks to Davide Calabria assists.
- Emiliano Viviano has saved three out of four penalties faced in Serie A this season, the joint-most in the top five European leagues.
- Hakan Calhanoglu fired eight shots in this match, the most for an Milan player in a single Serie A game this season.
|Pogba: Kante, Matuidi have 15 lungs|
|Julian Nagelsmann: the Bundesliga prodigy swapping Hoffenheim for RB Leipzig|
|England dominate in Durham to close in on series whitewash|
|´Fortunate´ Federer closes in on Halle title|
|Calamity Caballero and Sampaoli tinkerings leave Argentina a broken mess|
|Wimbledon champion Muguruza confident despite Birmingham defeat|
|Argentina 0 Croatia 3: Caballero drops clanger as Messi´s men are stunned|
|Funes Mori departs Everton to join Villarreal|
|Djokovic beats Dimitrov as Kyrgios lays down a marker|
|Relegated Verona appoint World Cup winner Grosso|
|Trotz named Islanders´ new coach|
|Matic and Serbia ready for ´hellish´ Switzerland clash|
|Fleetwood flounders as Gros takes Pulheim lead|
|No attacks on Neymar, pledges Costa Rica boss Ramirez|
|Giroud return brings structure to France, but again they disappoint|
|Brighton sign Sunderland goalkeeper Steele|
|Schmeichel and Eriksen blast ´exceptionally harsh´ VAR penalty|
|Nigeria´s young World Cup squad learning on the job - Rohr|
|Moody: England players need protection|
|France 1 Peru 0: Mbappe books last-16 spot with record goal|
|I don´t need anyone to hold my hand - Verstappen|
|Captaincy comes back around to Silva as 2014 pain fades|
|We don´t want to be losers - Petkovic|
|Alba not interested in Barcelona exit as Tottenham rumours swirl|
|BREAKING NEWS: Nagelsmann to take RB Leipzig role in 2019|
|Messi cannot be compared to Maradona, claims Argentina World Cup winner Kempes|
|Mbappe sets France record with maiden World Cup strike|
|Federer comes through tough Halle test|
|Nagelsmann to leave Hoffenheim amid RB Leipzig rumours|
|Gerrard brings former Liverpool team-mate Flanagan to Rangers|
|Cipriani to be ´the calmest guy in the room´ on England return|
|C´est magnifique! Lloris earns 100th France cap|
|Belgium v Tunisia: Hazard hoping for World Cup lift off|
|WATCH: Manchester United ditch piano to welcome Fred the red|
|Hamann springs to defence of Ozil|
|Alonso non-committal on future after Le Mans triumph|
|McInally returns to Scotland starting line-up|
|Giroud & Matuidi start as Deschamps drops Dembele for Peru|
|Torreira focused on Uruguay amid Arsenal links|
|NBA Mock Draft 2018: Deandre Ayton leads intriguing first round|
|Tite will not take away Neymar´s ´genius´|
|Australia show promise but calls for Cahill ignored amid lack of cutting edge|
|Manchester United means greatness - Fred aiming for titles following Old Trafford switch|
|Denmark 1 Australia 1: Jedinak strikes back after Eriksen rocket|
|Neymar not being put at risk by Brazil, says Tite|
|Juventus complete signing of free agent Emre Can|
|Fred completes Manchester United switch|
|Dembele will not join a Spurs rival|
|What were the 0.4 per cent doing? Iceland captain marvels at TV audience|
|Forsberg ready for ´next big step´ after RB Leipzig|
|´Retired´ Brits on bench as Springboks ring changes for final Test|
|Meninga: Key Kangaroos positions up for grabs in Origin|
|FIFA gets shirty over Ronaldo claims|
|Soyuncu keen on Arsenal switch|
|Atmosphere much better after criticism, says Hummels|
|FIFA issues statement after ´questionable´ Amrabat decision|
|Cipriani and Robshaw to start for England at Newlands|
|Team Sky hit back at Hinault´s ´irresponsible´ Froome comments|
|Iran fans are the real winners as women get glimpse of the future|
|Beckham predicts England-Argentina World Cup final|
|Napoli should sign Meret, Zenga claims|
|Meticulous Mouratoglou shaping stars of the future|
|Journalist hands Khedira boarding pass for early flight home|
|Germany v Sweden: Muller upbeat ahead of huge World Cup clash|
|South Korea v Mexico: Germany´s conquerors set for role reversal|
|Chandimal appeals against one-match ban|
|Fofana and Lamerat start, Parra skipper for final All Blacks Test|
|Asia and Africa being left behind - Queiroz|
|Emre Can arrives for Juventus medical|
|Championship fixtures: Bielsa´s Leeds face Stoke while Lampard´s Derby go to Reading|