La Albiceleste scraped through the group stages with just one win from their three matches and they were again below par in Rio on Friday night.
Lautaro Martinez opened the scoring 10 minutes in with an improvised flick, and substitute Giovani Lo Celso killed off Venezuela with a second goal 16 minutes from time to set up a last-four clash with hosts Brazil in Belo Horizonte next week.
As he did against Qatar in Argentina's last group outing, Martinez scored an early goal to reward his side for their fast start.
Messi failed to make the most of a couple of shooting opportunities from range and German Pezzella, back in the side after missing out against Qatar, headed a presentable opportunity over the crossbar.
Venezuela grew into the first half but struggled to create anything of note, with Yangel Herrera squandering a rare sight of goal when failing to get a shot away from 15 yards.
Martinez struck the outside of the post once played through by Leandro Paredes early in the second half, but that was as good as Argentina could offer until their second goal arrived.
Venezuela took control of the match and should have been level 20 minutes from time when the ball was worked to Ronald Hernandez, whose half-volley was at a good height for Franco Armani to push aside - his one and only save.
Argentina scored their second against the run of play as Aguero's tame shot from the edge of the 18-yard box slipped out of Farinez's hands and Lo Celso had a tap-in from close range, setting up that mouthwatering semi-final in Belo Horizonte on Wednesday.
VENEZUELA (4-5-1): Farinez; Hernandez, Chancellor, Mago (Soteldo 56'), Rosales (Seijas 83'); Murillo, Herrera, Moreno, Rincon, Machis (Martinez 71'); Rondon
ARGENTINA (4-3-3): Armani; Foyth, Pezzella, Otamendi, Tagliafico; De Paul, Paredes, Acuna (Lo Celso 68'); Messi, Aguero (Dybala 85'), Martinez (Di Maria 64')