Former Real Madrid and Everton midfielder James Rodriguez was the hero for Colombia as the 33-year-old scored the winner from the penalty spot to down the reigning world champions, who were without Lionel Messi.
It was revenge for Colombia who lost to Argentina in the Copa America final two months ago.
Rodriguez, now at La Liga side Rayo Vallecano, crossed for Wolves’ Yerson Mosquera to score the opener with a header in the 25th minute in Barranquilla.
Nicolas Gonzalez levelled for Argentina three minutes after the break but Nicolas Otamendi then fouled Crystal Palace’s Daniel Munoz and a penalty was given after a video assistant referee review.
Captain Rodriguez sent Aston Villa goalkeeper Emiliano Martinez the wrong way from the spot to score the 60th-minute winner.
“I don’t think I’ve ever scored against them – there’s a first time for everything,” said Rodriguez.
“We want to get used to playing finals. Today was just another game, but against a team that has won everything – this victory tastes even better.”
Elsewhere, midfielder Manuel Ugarte, who joined Manchester United last month from Paris St-Germain, started for Uruguay in their 0-0 draw at Venezuela.
Argentina remain top of the 10-team table by two points from second-placed Colombia.
The top six teams automatically qualify after 18 rounds of fixtures, which carry on until September 2025. The seventh-placed side go into an intercontinental play-off against a team from another confederation.
In Asia’s World Cup qualifiers, Australia were held to a 0-0 draw at Indonesia on Tuesday, having lost 1-0 at home to Bahrain in their opening match last Thursday.
Japan, also in Australia’s group, were 5-0 winners away to Bahrain as Premier League trio Wataru Endo (Liverpool), Kaoru Mitoma (Brighton) and Daichi Kamada (Crystal Palace) all started for Japan.
South Korea recorded their first win in World Cup 2026 qualifying, beating Oman 3-1 with Tottenham captain Son Heung-min and Wolves forward Hwang Hee-chan on target.