Jhonny Peralta hit a go-ahead, solo homer in the sixth inning, and the Cardinals held on to beat the Mets, 3-2, to open the second half of the season.
Ruben Tejada pulled the Mets within one with an RBI single in the ninth, but Trevor Rosenthal struck out pinch-hitter John Mayberry to post his 27th save.
Noah Syndergaard was winning a pitchers’ duel against Lance Lynn before the sixth, which began with a Kolten Wong single.
Wong stole second and took third on Kevin Plawecki’s throwing error, and Matt Carpenter tied it at 1-1 with an RBI groundout.
Peralta then took Syndergaard (4-5) deep, and Lynn (7-5) along with St. Louis’ bullpen made the one-run lead stand.
Lynn struck out nine over seven innings and only allowed two hits after Curtis Granderson open the game with a home run.
Kevin Siegrist tossed a scoreless eighth, and Peter Bourjos tacked on what proved to be the game-winning RBI double in the bottom half.