M'Baye Niang and Carlos Bacca took Milan to the Coppa Quarter-Finals, as Ervin Zukanovic saw red for Sampdoria.
The Coppa Italia tie was billed as crucial for the future of Coach Sinisa Mihajlovic, with President Silvio Berlusconi unhappy with the team’s performances so far.
The Serbian opted for a 4-4-2 system, with Giacomo Bonaventura supporting Bacca and Niang.
It was the home side who had the first real chance of the game, with four minutes on the clock. The Blucerchiati broke quickly, and Roberto Soriano might have slipped the ball right to Luis Muriel.
Instead the Italian international took the ball on himself, and was brought down right on the edge of the box by Andrea Bertolacci. From the resulting free-kick, Ervin Zukanovic hit the wall.
Carlos Bacca had the ball in the net with just over a quarter of an hour gone, but it was correctly ruled-out for offside.
M’Baye Niang almost broke the deadlock with a stunning effort on 24 minutes. The Frenchman’s chest-and-volley attempt flashed just wide of the far post.
Milan were putting the pressure on, but were served a warning on 32 minutes. Zukanovic headed the ball down from a corner, but no-one in a blue shirt could get on the end of it.
Luis Muriel almost opened the scoring just before half-time, but Christian Abbiati got down well to parry the Colombian’s left-footed shot from the edge of the area.
The veteran goalkeeper had to be alert again moments later, denying Carlos Carbonero.
Niang gave the visitors the lead five minutes into the second half. Bacca slid a perfect pass through the Samp defence, and the Frenchman fired it low into the far corner.
Philippe Mexes almost let the Blucerchiati back into it just moments later, but Luis Muriel couldn’t capitalise after the Frenchman played the ball off him and allowed him through on goal.
Zukanovic then made the task harder for his team, by picking up two yellow cards in a matter of seconds.
The Bosnian fouled Juraj Kucka, earning him a caution, then said the wrong thing to referee Domenico Celi, who sent him for an early bath.
Carlos Bacca almost made it 2-0, but he couldn't quite get on the end of M'Baye Niang's cross.
As the match headed into injury time, Antonio Cassano's right-footed shot flashed just wide of Abbiati's far post.
However, Bacca put the result beyond doubt in the final minute. Keisuke Honda found the striker in the box, and he cut inside before finding the corner with a low strike.
The result offers Mihajlovic the opportunity to relieve some of the pressure, with the Diavolo now having a real chance of making the final.
They will face Carpi in the Quarter-Finals, and then the winner of the tie between Spezia and Alessandria.
Sampdoria 0 - 2 Milan
Niang 50 (M) Bacca 94 (M)
Sampdoria: Viviano; Cassani, Moisander, Zukanovic, Regini; Ivan, Fernando, Carbonero (Mesbah, 68); Soriano; Muriel (Cassano, 77), Bonazzoli (Christodoulopoulos, 59)
Milan: Abbiati; Abate, Mexes, Romagnoli, De Sciglio; Cerci (Honda, 71), Kucka, Bertolacci (Mauri, 81), Bonaventura (Poli, 77); Bacca, Niang
Sent off: Zukanovic 64 (S)