Messi was only called upon by coach Lionel Scaloni to play the final quarter of an hour as he made his comeback from knee and hamstring issues that saw him miss Paris Saint-Germain's last two matches.
Di Maria's sublime early finish at the Campeon del Siglo stadium in Montevideo was the difference between the sides in a match dominated by Uruguay.
The result means Argentina -- who are unbeaten in 26 matches -- will qualify for the World Cup finals if they beat Brazil on Tuesday and any one of Colombia, Chile or Uruguay fail to win.
"This team has great courage and when you don't play well, you still have to win," said Argentina goalkeeper Emiliano Martinez.
"Winning today was a huge step. We deserve it because we work very hard."
The defeat left Uruguay in a World Cup play-off spot, behind Colombia and Chile in the final two automatic qualification position on goal difference.
Nahitan Nandez should have given Uruguay a fifth minute lead after Argentina failed to deal with a long throw into the box.
A ricochet saw the ball land at Nandez's feet seven yards from goal and while Martinez did well to come out quickly and spread himself, Nandez's finish was poor and straight at the Aston Villa stopper.
Uruguay were made to pay two minutes later as Paulo Dybala robbed a dawdling Joaquin Piquerez just outside the box and passed inside for Di Maria to stroke a glorious shot into the top corner.
It was Argentina's only shot at goal in the first half.
Luis Suarez provided Uruguay's main threat, as he has done so many times before, and fired a free-kick narrowly over.
On the half hour he hit an instinctive volley against the post before snatching at the rebound with his left foot and putting it wide.
Uruguay were piling on the pressure and Matias Vecino had a chance to restore parity at the end of the first half but shot too close to Martinez.
Messi's late cameo
After the break, Argentina continued to control possession without creating chances, while Uruguay were more dangerous, but without testing Martinez.
Substitute Papu Gomez finally got off Argentina's second shot, just before the hour mark, but it flashed wide, while Martinez had to backpedal to tip over a wayward Facundo Torres cross that looked like it was dipping in behind the goalkeeper's head.
With Uruguay pushing to salvage something from the game, Joaquin Correa had a pair of chances on the break for Argentina but could not take advantage.
Finally with a quarter of an hour to play, Scaloni summoned Messi from the bench but he had little impact on the game.
Uruguay substitute Agustin Alvarez had a gilt edged chance to snatch a draw six minutes from time but his header from five yards landed on top of the net.
Moments later, Martinez let Alvarez's shot squirm between his legs before quickly spinning around to grab the ball behind him before it crossed the line.