Brian Schneider homered and drove in two runs against his former club, but New York (20-18) dropped to a disappointing 3-3 on its seven-game homestand against last-place teams.
Redding (5-3) allowed one run and struck out four, improving to 3-0 in three road starts this season. Carlos Beltran's RBI single off Jon Rauch cut it to 5-3 in the eighth, but Rauch retired Endy Chavez on an inning-ending flyout with runners at the corners.
Chavez was in the game as a replacement for left fielder Moises Alou, ejected by plate umpire Dana DeMuth for slamming his bat to the ground following a fifth-inning strikeout.
Rauch worked a perfect ninth, earning his eighth save.
The Nationals won without cleanup hitter Nick Johnson, who traveled back to Washington for additional tests on his sore right wrist. The oft-injured Johnson strained a tendon on a swing late in Tuesday night's game and could be sidelined for a while.
Cut by Milwaukee in spring training, Vargas signed a minor league deal with the Mets and was called up Tuesday from Triple-A New Orleans. He'll get a chance to solidify a spot at the shaky back end of New York's rotation, and he looked good against Washington.
Schneider gave the right-hander a 1-0 lead in the fifth with his second homer of the year.
Zimmerman tied it in the sixth with his second home run in two nights. He drove a 2-0 delivery off the facing of the second deck of left-field stands for No. 7 this season.
Vargas (0-1) walked Elijah Dukes with one out in the seventh and was lifted for Heilman after throwing 97 pitches. Dukes moved up on a slow groundout and scored on a sharp single by Flores, the young catcher left unprotected by the Mets in the 2006 winter meeting draft (Rule 5).
Felipe Lopez added an RBI single, and Cristian Guzman's two-run single off Heilman made it 5-1.