Adam Wainwright won his fifth straight start in a rare matchup of 40-year-old pitchers, and the St. Louis Cardinals blanked the New York Mets 7-0 on Monday night.
Paul Goldschmidt homered and had two RBIs for the surging Cardinals, who have won five of six. St. Louis is tied with San Diego at 74-69, a half-game behind Cincinnati for the second NL wild card.
New York is 3 1/2 games behind the Reds, with three teams in between.
The 40-year-old Wainwright, a thorn in the Mets' side since he saved Game 7 of the 2006 NL Championship Series by freezing Carlos Beltran with a curveball to escape a bases-loaded jam, allowed four hits in six innings. He walked three and struck out four as he outpitched Hill.
Wainwright (16-7) had just one 1-2-3 inning but worked out of trouble by stranding seven runners - including the bases loaded in the first, when he struck out Jeff McNeil on three pitches.
Dylan Carlson laced an RBI double in the second and Goldschmidt delivered a run-scoring single in the third before homering leading off the fifth.
The Mets threatened against Alex Reyes in the eighth before he struck out Pete Alonso, Javier Baez and McNeil - the 4-5-6 hitters.
Nolan Arenado, Yadier Molina, Edmundo Sosa and Harrison Bader all had RBI singles in the ninth.
Hill (6-7) allowed three runs and six hits in five innings.
Jake Woodford (2-3, 4.38 ERA) gave up one run in four innings against the Dodgers last Thursday in his return to the rotation.
Marcus Stroman (9-12, 2.87) is slated to make his major league-leading 31st start.