Argentina hasn't captured a major title since 1993 when it won Copa America. On that occasion, the team eliminated Colombia on penalties 6-5 in the semifinal after a goalless draw.
Brazil beat Peru 1-0 on Monday to advance to the final.
It took Argentina only seven minutes to open the scoring. Rodrigo De Paul found Messi in the penalty box with a through pass. The star earned his fifth assist in the tournament with a pass to Lautaro Martinez, who put the ball in the right corner past Colombia goalkeeper David Ospina.
A more aggressive Colombia, led by Juan Cuadrado, hit the bar and the post in the second half before it leveled in the 61st minute with Luis Diaz, who received the ball on the left of Argentina's box shot almost with no angle to beat Martinez.
The last big opportunity in regular time came with Messi hitting Ospina's right post in 81st minute from short range.
Martinez saved the shots taken by Davinson Sanchez, Yerry Mina and Edwin Cardona in the shootout. Messi converted his opportunity from the spot and was one of the most joyous players in the celebrations. He seeks his first major title with Argentina against favorites Brazil.
In tears, Martinez said after the match he wanted to face the Brazilians in the final in the Maracana Stadium.
"It is a great team, the favorite. But we have a great coach, we have the best player in the world and we will try to win it," he said.