Milan continued their 100 per cent start to their UEFA Europa League campaign after coming from behind to defeat Group F opponents Olympiacos 3-1 at the San Siro.
Miguel Ángel Guerrero had opened the scoring for the visitors against the run of play in the 14th minute, but his header was cancelled out by substitute Patrick Cutrone, who headed home for the Rossoneri with 20 minutes to go.
Gonzalo Higuaín then slotted home to put Milan in front before Cutrone added his second of the night to extend his side's lead and seal the victory.
Check out our breakdown of the game below.
Key Talking Point
Milan started well and would have gone in front in the fifth minute when Suso's cross was headed goalwards by Giacomo Bonaventura, but Samu Castillejo needlessly helped the ball on its way from an offside position and the goal was chalked off.
The Spaniard's decision to get involved in that move proved costly for the Italians, as their Greek counterparts went in front nine minutes later and Castillejo was subsequently substituted in the second-half for Cutrone, who headed home the leveller from Ricardo Rodríguez's pin-point cross.
Higuaín returned to the starting line-up tonight after a two match absence and despite showing earlier signs of lacking match-fitness, the Argentine latched onto substitute Hakan Çalhanoğlu's pass to slot home and put Gattuso's side in front.
Gattuso's alterations paid off and two of his substitutes combined to make it three when Cutrone tapped-in from Çalhanoğlu's low cross.
Starting XI: Reina (6); Calabria (6), Zapata (6), Romagnoli (6), Rodríguez (6); Biglia (6), Bakayoko (6), Bonaventura (6); Suso (7), Higuaín (7), Castillejo (4)
Substitutes: Borini (N/A), Cutrone (8), Çalhanoğlu (7)
Cutrone came off the bench and scored two great goals to change the complexion of the game. His movement off the ball was pivotal for the leveller, he did well to stay onside and guide his header into the far-corner past José Sá. He also showed good instincts to read exactly where fellow substitute Çalhanoğlu was going to play the ball for his second of the night and Milan's third.
Castillejo bizarrely took Bonaventura's would-be goal away from him and in doing so, was caught offside. It was a selfish thing to do and it initially proved costly as his side fell behind soon after.
Castillejo seemed to lose confidence after that moment, squandering opportunities and dribbling into cul-de-sacs. He didn't get a chance to properly redeem himself in the second-half, as he was replaced by match-winner Cutrone eight minutes into the restart.
Key Talking Point
Pedro Martins fielded a completely different eleven to the one that started against Betis and they understandably took their time to gel against Milan. However, the Rossoneri's disallowed goal brought the Greek outfit to life and they went in front against the run of play through Guerrero, who ran across Cristián Zapata to head home from Leonardo Koutris' teasing delivery.
The Piraeus outfit didn't see too much of the ball and didn't create many opportunities after scoring. They were susceptible to Milan on the counter-attack - which ultimately came to fruition and they couldn't recover from three goals in the space of nine second-half minutes.
Starting XI: Sá (6); Torosidis (6), Miranda (6), Cissé (5), Koutris (7); Natcho (7), Guilherme (6), Fetfatzidis (6), Touré (6), Nahuel (6); Guerrero (7)
Substitutes: Meriah (N/A), Fortounis (N/A), Podence (N/A)
Koutris was a real threat in attack for the visitors. He was assured tonight and contributed to Guerrero's opener by sending a terrific cross for the Spaniard to head home and nearly repeated the feat in the second-half, only for the striker to head wide.
Pape Abou Cissé had a disappointing game. He looked nervous on the ball in the first-half and didn't improve in the second. The defender's positioning was all over the place for Milan's final two goals as he failed to get close to his opponents and charge them down.
Next up, Milan host bottom-placed Chievo, who are in search of their first league victory of the season, ahead of the Derby della Madonnina against city rivals Inter, which follows the international break.
Meanwhile, Olympiacos travel to third-placed AEK Athens in the hope of bouncing back from their 1-0 defeat against PAOK.