The Cardinals won the season series, taking two out of three against the Giants in both series against them.
Matt Carpenter hooked a ground-rule double down the right-field line off former teammate John Brebbia (0-1) in the seventh. José Rondón was brought in to pinch-run, and he advanced to third on a flyout by Paul DeJong. With the infield in, Bader hit a grounder that deflected off Wade's glove, scoring Rondón.
Bader is now 6 for 14 over his last five games.
"You know Harrison battled and put the ball in play and we were on contact," Cardinals manager Mike Shildt said. "Harrison busted down the line and created some opportunity for himself. Some really good solid situational baseball."
Alex Reyes got the final three outs for St. Louis, setting a major league record by converting his 24th straight save chance to start his career. LaTroy Hawkins held the previous record of 23.
"I try and go out there and not think about those things and just compete. I feel like that makes everything easier, instead of thinking about a bigger picture," Reyes said.
DeJong opened the scoring in the third when he hit an 0-1 changeup into the left-field seats. The home run for DeJong was his third in his last five games.
That was the only damage Giants starter Johnny Cueto would allow. Cueto pitched five innings, allowing one run on two hits, walking one and striking out five. Cueto bounced back after allowing four runs and nine hits in his last start against St. Louis, a 6-5 loss in San Francisco.
"I thought we were all confident enough about facing Cueto and we know what we has," DeJong said. "He pitched decent but we got him out early and we did what we had to do."
The Giants tied the game in the top of the fourth when Darin Ruf hit a curveball over the left-field wall against Cardinals starter Wade LeBlanc for his 10th home run of the season. It was Ruf's second homer in his last four games against the Cardinals.
That was all the scoring the Giants could muster. St. Louis relievers Ryan Helsley, Génesis Cabrera (2-3), Giovanny Gallegos and Reyes threw four scoreless innings. Reyes earned his 22nd save of the season.
LeBlanc threw five-plus innings, allowing five hits, walking one and striking out three.
The Giants left the bases loaded in the first and sixth innings.
"I think it's really important to use past experiences to remind us just how good we are," Giants manager Gabe Kapler said. "(And) more importantly to remind us that very good offensive teams, very good baseball teams go through periods of time when you're just kind of dry."
Paul Goldschmidt singled to left in the fourth inning to extend his hitting streak to 13 games. It's the longest streak by any Cardinal this season.
Cueto eclipsed 2,000 career innings pitched. He is eighth among active pitchers in innings.
Giants: SS Brandon Crawford (hamstring cramping) returned to the starting lineup after not starting Saturday night. Crawford walked as a pinch-hitter in Saturday's 3-1 loss to the Cardinals. ... Kapler said he's "pretty confident" C Buster Posey (left thumb contusion) should be available for Monday night's game in Los Angeles.
Cardinals: Shildt said RHP Jack Flaherty's (left oblique strain) bullpen session went well and he is progressing. Shildt also said management was discussing whether RHP Miles Mikolas (right forearm tightness) will need to throw one more bullpen session in St. Louis or go on a minor league assignment for rehab.
Giants: RHP Kevin Gausman (9-3, 1.73 ERA) will face RHP Tony Gonsolin (1-0, 2.13) and the Los Angeles Dodgers on Monday to open a four-game series in Los Angeles. Gausman is 1/3 in six career starts against the Dodgers.
Cardinals: RHP Jake Woodford (1-1, 4.62) will start against RHP Alec Mills (4-2, 4.84) and the Chicago Cubs for the start of a four-game series Monday night in St. Louis. After three relief appearances versus Chicago, Woodford will be making his first career start against the Cubs.
DeJong goes deep in Cards' win
Paul DeJong smacks a 407-foot home run to left field in the Cardinals' 2-1 win over the Giants.