Argentina stopper Martinez saved three penalties in the shoot-out after a bruising 1-1 draw in Brasilia.
Hosts Brazil beat Peru 1-0 in Monday's first semi-final meaning their star forward Neymar will line up against Lionel Messi's Argentina on Saturday.
Two years ago a Brazil team missing the injured Neymar knocked out Argentina in the semi-finals before winning their ninth Copa title on home soil.
For Messi, 34, time is running out to win a first major international title with his national team, having previously lost in three Copa finals and the 2014 World Cup final.
For once he wasn't his country's main hero, although he did create the opening goal for Lautaro Martinez on seven minutes, before Luis Diaz equalized just after the hour mark.
In the shoot-out, goalkeeper Martinez three times dived to his left to save penalties from center-backs Davinson Sanchez and Yerry Mina, as well as midfielder Edwin Cardona.
And although Rodrigo De Paul skied his penalty for Argentina, Messi -- who finished with blood seeping visibly from his left ankle -- was amongst the scorers to give them a 3-2 victory on spot-kicks.
Fast Argentina start
Messi produced some early magic to beat three players and cross for Martinez to head wide.
Colombia didn't heed the warning and on seven minutes, Giovanni Lo Celso found Messi in the box, the diminutive star held off the giant Mina and picked out Martinez to fire into the far corner.
Colombia almost hit back immediately but goalkeeper Martinez was down quickly to keep out Juan Cuadrado's low strike.
After Argentina's fast start, Colombia started to dominate and Cuadrado sent a free-kick just over the bar.
The Cafeteros cranked up the pressure and hit the woodwork twice in quick succession.
After Wilmar Barrios's half-volley deflected off Lo Celso's hand and struck the post, Mina headed the resulting corner onto the bar.
But Argentina were a whisker away from doubling their advantage on the stroke of half-time when Nicolas Gonzalez powered a header from a Messi corner goalwards, with Colombia goalkeeper David Ospina somehow scooping the ball over the bar.
Di Maria impact
Colombia remained the better side after the break with Duvan Zapata having a shot blocked and substitute Miguel Borja firing wide.
But they deservedly equalized on 61 minutes when Cardona took a quick free-kick from inside his own half and sent Diaz scampering away to hold off German Pezzella and dink a clever finish over Martinez.
Argentina brought on Angel Di Maria for Gonzalez and the tricky winger immediately brought more urgency to his side's attack.
But Di Maria and Martinez contrived to butcher a glorious chance to give Argentina the lead again.
Daniel Munoz's wayward back pass sent Di Maria scampering towards goal. He dribbled round Ospina and teed up Martinez whose shot was blocked on the line by Barrios before Di Maria blazed the rebound over.
Di Maria then played in Messi who thudded a shot off the post before De Paul's follow up was charged down by Sanchez.
Messi shot a late free-kick into the wall but after the 90 minutes were up, it was Martinez who took center stage.