Jose Martinez and Paul Goldschmidt homered in the first inning as the Cardinals pounded the Giants 9-4 in San Francisco.
Dexter Fowler also went yard for St. Louis. Kolten Wong drove in a pair of runs for the Cardinals.
Dakota Hudson got the win after giving up just three runs over five innings for St. Louis, which has won four of its last five.
Adalberto Mondesi hit a go-ahead single in the 11th inning, and Kansas City snapped a four-game losing streak with a win over Washington.
The Nationals, who had won four in a row and eight of their last nine, left 19 men on base – including the bases loaded in the sixth, seventh and 10th innings.
Mondesi poked a single to left past a drawn-in infield to score a run. Alex Gordon then hit a grounder to first baseman Ryan Zimmerman, whose wild throw home allowed two runs to score.
Brian Flynn (2-0) escaped a bases-loaded jam, and Wily Peralta worked the 11th for his second save.