The semi-final second leg was closer than the scoreline suggested, but Inter ultimately were comfortable winners on aggregate after a goalless draw in the first fixture.
Simone Inzaghi’s men will take on the winners of Wednesday’s other semi-final, which Juventus lead 1-0 after the first leg, at the Stadio Olimpico on May 11.
AC Milan remain without a major trophy since winning the 2011 Serie A title, but the Scudetto is still up for grabs this season.
Stefano Pioli’s men lead Inter by two points in the table, although the reigning champions have a game in hand.
Inter Milan made a dream start on Tuesday as they struck inside the first four minutes.
Matteo Darmian’s dinked cross found its way to Martinez, and the Argentinian slammed a volley into the top corner to score his 18th goal of the season in all competitions.
AC Milan eventually burst into life around the half-hour mark, with Inter goalkeeper Samir Handanovic having to make smart saves from Rafael Leao and Alexis Saelemaekers.
They almost levelled again twice in quick succession five minutes before half-time, as Ivan Perisic somehow scrambled the ball off the line with his chest, before Leao’s effort was kept out by Handanovic’s legs.
But Inter sprung straight up the other end to double their advantage against the run of play, as Joaquin Correa played a lovely through ball into the path of Martinez, who coolly chipped the ball over advancing goalkeeper Mike Maignan.
Milan started the second half brightly, with the defence producing crucial blocks from attempts by Brahim Diaz, Olivier Giroud and Pierre Kalulu.
The Serie A leaders thought they had given themselves hope in the 66th minute through Ismael Bennacer’s excellent long-range drive.
But the goal was disallowed by VAR due to Kalulu standing in front of Handanovic in an offside position.
Inter secured their place in the final with eight minutes remaining on the counter-attack, as Marcelo Brozovic crossed for substitute Robin Gosens to score.