The 34-year-old forward provided assists for Rodrigo de Paul after 41 minutes and Lautaro Martinez late on.
He then curled in a free-kick in injury time after Piero Hincapie was sent off for a foul on Angel di Maria.
Last-four opponents Colombia beat Uruguay 4-2 on penalties following a goalless draw.
“I’ve always said that individual prizes are secondary – we’re here for something else,” said Messi, whose goal was his 76th for his country. “We have an objective and we’re focused on that.”
Messi, who is a free agent after his contract with Barcelona ran out, could have given his side the lead early on but hit the post with a shot when through on goal.
He added: “It was a hard match. We know how difficult an opponent they can be. The important thing is we’ve taken another step forward.”
Former Arsenal keeper David Ospina was Colombia’s hero after he saved penalties from Jose Maria Gimenez and Matias Vina in the penalty shootout.
Ospina, 32, was making his 112th international appearance, becoming his country’s most capped player.
“David has always been a leader,” said Colombia coach Reinaldo Rueda.
“He’s very cerebral when it comes to penalties. That’s a big help to our team.”