Kyle Hendricks tossed one-run ball over seven innings to continue his dominance over St. Louis, lifting the Chicago Cubs to a 5-1 win.
Carlos Gonzalez hit his first homer with the Cubs and Kyle Schwarber went 2 for 3 with two RBIs as Chicago completed a three-game sweep of its NL Central rivals and a 6-1 homestand.
All nine games between the Cardinals and Cubs this season have been won by the home team. The Cardinals swept the Cubs in St. Louis last weekend, and Chicago had another three-game sweep at Wrigley Field last month.
Hendricks (7-4) scattered eight hits to win his sixth straight decision. Steve Cishek worked a scoreless eighth, Carl Edwards got two outs in the ninth and Pedro Strop got the final out for his seventh save.
Paul Goldschmidt had two hits and Kolten Wong added an RBI double for St. Louis, which dropped to 31-32.
Cardinals starter Adam Wainwright (5-6) left in the bottom of the fifth inning with hamstring tightness after doubling in the top half of the inning.
Michael Wacha (3-2, 6.30 ERA) starts Monday night in the opener of a three-game series at Miami. RHP Sandy Alcantara (3-5, 3.80) pitches for the Marlins.
Yu Darvish (2-3, 4.88 ERA) takes the mound Monday night in the opener of a three-game series at Colorado. RHP German Marquez (6-3, 4.07) goes for the Rockies.
>>Sox Down Royals
Following three consecutive poor outings, Reynaldo Lopez pitched six effective innings against Kansas City on Sunday. And backed by a 471-foot homer from Eloy Jimenez, the Chicago White Sox defeated the Royals 5-2.
A day after Lucas Giolito shut down the Royals in a 2-0 victory, Lopez (4-6) allowed one run and four hits in six innings. He walked one and struck out eight.
Lopez had been struggling recently, giving up 19 earned runs in his last 13 1/3 innings over his previous three starts.
Yoan Moncada had four hits and an RBI for the White Sox, who lost the series opener but had back-to-back solid pitching performances to take the last two games.
Glenn Sparkman (1-2) gave up two earned runs and eight hits in 6 2/3 innings.
Jimenez led off the second with the longest home run at Kauffman Stadium since Brandon Moss hit a 474-foot drive for the Royals against the Twins July 1, 2017. The White Sox added an unearned run later in the inning on Charlie Tilson's double.
Jorge Soler hit a 445-foot shot homer in the fourth, snapping Kansas City's 13-inning scoreless drought.
The White Sox got a run in each of the last three innings, on Moncada's single that scored Tilson in the seventh, an eighth-inning double by Tim Anderson and an unearned run in the ninth.
The White Sox open a six-game, seven-day homestand Monday against the Washington Nationals. Rick Renteria said the White Sox would make the decision on their starter Monday after talking to the players who may be affected by any roster moves. The Nationals swept a two-game series from Chicago on June 4-5, including winning on a walk-off home run by Trea Turner in the second game.