Garver blasted the second pitch he saw from Drew Smith (4-5) well beyond the center field fence. He has four homers and is hitting .474 (9-for-19) in his career at Citi Field.
Garver helped build a key insurance run in the top of the ninth, when he walked with one out, went to second on Travis Jankowski's single, moved to third on a wild pitch and scored on Ezequiel Duran's single.
Chris Stratton (2-1) got the final two outs of the sixth inning and emerged with the win. Brock Burke threw a one-hit seventh, and Will Smith needed just seven pitches in a perfect eighth.
Vientos homered with two outs in the ninth off Aroldis Chapman as the Mets avoided getting shut out, which nearly occurred for the 15th time this season. Chapman then closed out his fourth save by getting Danny Mendick to ground out.
Texas starter Andrew Heaney allowed five hits and walked one while striking out seven in 5 1/3 scoreless innings.
Mets starter Jose Quintana gave up three hits and three walks while striking out five in six shutout innings. It was his first scoreless outing since last Sept. 23, when Quintana blanked the Los Angeles Dodgers for 6 2/3 innings while pitching for the St. Louis Cardinals.
The Rangers got just one runner beyond first base against Quintana, a two-out double by Nathaniel Lowe in the first. Quintana induced double plays in the second and fourth innings.
The Mets got one runner beyond first base in the first five innings before chasing Heaney in the sixth, when Brandon Nimmo led off with a single and went to second on McNeil's one-out hit. Stratton entered and retired Pete Alonso on a popout to first before whiffing Francisco Alvarez.
—Field Level Media