Paul Goldschmidt hit a two-run shot, Jordan Walker added a solo shot of his own, Adam Wainwright pitched into the seventh inning, and the St. Louis Cardinals held off the New York Mets 5-3.