Knotted at 3 in the sixth, Taylor Teagarden singled off righty Keith Butler with the bases loaded to score one. Cory Vaughn, who collected four RBIs, drove in a pair with a two-out single.
The Mets took a 1-0 lead in the first on a Wainwright balk. Daniel Murphy doubled with one out and moved to third on Chris Young's infield single before Wainwright's balk advanced both runners.
"Somebody yelled time, and like an idiot I stopped," Wainwright said about the balk, adding that he thought it may have been Yadier Molina. "You should never stop just in case. Usually when someone calls time, it's the umpire. I just assumed it was. I was trying to keep the runner close, so I was watching him and as I look up, he breaks and then I'm going and I stopped when I heard time. That was my fault."
Vaughn blasted the first pitch from Wainwright for a two-run homer to left with two outs in the second.
St. Louis got two runs on three hits off Niese in the second. Allen Craig singled and Niese walked Stephen Piscotty. Kolten Wong and Jon Jay knocked back-to-back RBI singles up the middle.
Jhonny Peralta evened it with a one-out RBI single to left in the fifth off righty Kyle Farnsworth. Randal Grichuk led off the frame with a double and moved to third on Matt Carpenter's groundout to first.
Up next: With David Wright, Curtis Granderson and most of the team's Vegas traveling party receiving the day off, John Lannan will start a 1:05 p.m. game on Monday against the Marlins at Jupiter, Fla. Lannan's chances of making the rotation increased over the weekend with the possibility that Niese could miss time with an injured left elbow.
Christina De Nicola is a contributor to MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.