Argentina fell behind when Edinson Cavani, who scored in Uruguay's 2-1 win over Hungary on Friday, notched his 50th international goal in the 34th minute.
That lead was cancelled out when Sergio Aguero headed home a set-piece delivery from Messi, before Luis Suarez restored La Celeste's advantage five minutes later with a superb free-kick.
Messi missed a penalty and scored on the rebound in a 1-0 win over Brazil three days ago, but he made no mistake from the spot on this occasion and clinched the draw in the 92nd minute.
After a cagey opening, which saw Suarez's close-range effort blocked by German Pezzella, Uruguay took the lead 11 minutes before the interval.
Lucas Torreira's lofted ball was cushioned into the middle by Suarez, and strike partner Cavani had the simple task of prodding past Esteban Andrada from six yards.
Argentina thought they had pulled level in the 38th minute, but referee Roi Reinshreiber ruled out Paulo Dybala's strike after he handled the ball before lashing past Martin Campana.
The Uruguay goalkeeper was twice called into action before the break, keeping out Messi's 30-yard free-kick and racing off his line to deny Marcos Acuna's lobbed effort.
Argentina continued to do most of the pressing at the start of the second period and their positive approach was rewarded when Messi's free-kick from the left was headed into the top-right corner by Aguero in the 63rd minute.
Uruguay's lead was quickly restored, though, when Suarez's whipped free-kick from 25 yards proved too powerful for Andrada to keep out.
Messi ensured the headlines would be his, though, stroking home his 70th international goal from the spot after Lautaro Martinez's flick hit Martin Caceres' arm.