A brace from Lautaro Martinez and a strike from substitute Robin Gosens earned Inter a 3-0 win over arch rivals Milan in the Coppa Italia semi final second leg.
The result means that I Nerazzurri will face either Juventus or Fiorentina in the Coppa Italia final on 11th May.
Within the opening five minute, Inter had taken the lead. The goal came from Inter's star man (who could be set to leave the club in the near future) Martinez, who brilliantly volleyed past Mike Maignan from just inside the 18-yard box.
Milan, clearly not shellshocked by going behind so early, pressed forward with real intent after conceding. Franck Kessie was proving to be causing Inter's backline some problems with his late bursts forward, and he came close to drawing his side level in the 13th minute with a thunderous strike from outside the box. The ball, however, flew just wide of the right post.
The token 'visitors' for the evening spurned another chance to draw level around the half-hour mark, with Rafael Leao's drilled effort from the left of the penalty being well saved by Samir Handanovic.
Moments later Handanovic was on hand again to deny I Rossoneri, diving to his left to prevent Alexis Saelemaekers's wonderful volley from the edge of the box from nestling in the bottom right corner of the net.
Despite all of Milan's good play, it was Inter who'd get the second goal of the game. The goal would come from Martinez again, who darted brilliantly in behind the Milan defence to latch onto a Joaquin Correa pass, before dinking over Maignan.
Remarkably, Inter could've been three up going into half-time, but a Hakan Calhanoglu corner kick from the right which was flicked on by Correa narrowly evaded the onrushing Perisic at the back post.
The 'home' side were happy enough sitting deep and catching Milan on the break at the start of the second half - a tactic which played to the strengths of Martinez and Correa on the counter attack. The former almost bagged his hat-trick in the 50th minute, but saw his shot from just inside the box saved by Maignan.
Stefano Pioli's side continued to press forward in search of a goal that would get them back in tie, and they thought they had got it in the 65th minute via Ismael Bennacer.
The midfielder slammed the ball into the back of the net from 20 yards out after Marcelo Brozovic had headed a corner kick clear of the box, however the goal was (rather harshly) ruled out for offside as Pierre Kalulu was adjudged to have been in the goalkeeper's eye-line - despite Handanovic literally having no chance of ever saving Bennacer's strike.
Milan faded after this disallowed goal, allowing Inter to go up the other end and bag a third courtesy of substitute Robin Gosens. The wing-back stole in at the back post to slide home a Brozovic cross from the right of the penalty area to seal Inter's place in the Coppa Italia final.
Inter player ratings - Coppa Italia
1. Inter (3-5-2)
GK - Samir Handanovic - 7/10 - Made a few very impressive saves in the first half.
CB - Milan Skriniar - 6/10 - Was caught out by the pace of Leao at times. Solid in the air though all evening.
CB - Stefan de Vrij - 7/10 - Kept Giroud very, very quiet.
CB - Alessandro Bastoni - 7/10 - He was a brick wall at the back. Bastoni is turning into one of the better centre-backs in Europe.
RWB - Matteo Darmian - 6/10 - Bagged an assist for the opener, but struggled a bit defensively in the first half.
CM - Nicolo Barella - 6/10 - Not as dynamic as he can be, but defended well when called upon.
CM - Marcelo Brozovic - 8/10 - The usual really: brilliant. Set up the third goal of the evening.
CM - Hakan Calhanoglu - 6/10 - Put in a shift in midfield.
LWB - Ivan Perisic - 7/10 - Worked his socks off. What an asset he is to this Inter team.
ST - Lautaro Martinez - 9/10 - Scored a brilliant goal inside five minutes, and then grabbed a second before the end of the half. One of the Argentine's best performances of the season.
ST - Joaquin Correa - 6/10 - His great through ball led to the second goal of the game. Caused Milan problems with his movement all evening.
SUB - Edin Dzeko - N/A.
SUB - Alexis Sanchez - N/A.
SUB - Arturo Vidal - N/A.
SUB - Danilo D'Ambrosio - N/A.
SUB - Robin Gosens - 7/10 - Came off the bench and immediately scored. Lovely stuff.
Milan player ratings - Coppa Italia
2. Milan (4-3-3)
GK - Mike Maignan - 5/10 - He didn't have much hope of preventing any of the goals.
RB - Davide Calabria - 4/10 - Not as involved as Hernandez on the other flank.
CB - Pierre Kalulu - 3/10 - Not up to his usual high standard of performances. Two of Inter's goals came from his poor positioning.
CB - Fikayo Tomori - 4/10 - Caught out by Martinez's movement for the first goal.
LB - Theo Hernandez - 5/10 - Raced forward with intent and linked up well with Leao.
CM - Ismael Bennacer - 4/10 - Scored a brilliant goal...that was ruled out for offside. He was surprisingly sloppy on the ball at times.
CM - Sandro Tonali - 3/10 - Not at his best and was subbed off at half-time.
CM - Franck Kessie - 4/10 - Lively early in the game and then faded.
RW - Alexis Saelemaekers - 3/10 - Always works hard, but always seems to lack a bit of quality on the ball.
ST - Olivier Giroud - 2/10 - Didn't really get a kick against De Vrij. Few do though to be fair.
LW - Rafael Leao - 5/10 - As per, the live wire in Milan's attack. Probably should've scored in the first half.
SUB - Junior Messias - 2/10 - He really did not make any semblance of a difference when he came on at half-time.
SUB - Brahim Diaz - 2/10 - Like Messias, didn't change much for Milan.
SUB - Rade Krunic - N/A.
SUB - Matteo Gabbia - N/A.
SUB - Marko Lazetic - N/A.