Anthony Rizzo hit a two-run homer before drawing a career-high four walks and Nate Schierholtz drove in three runs, rallying the Chicago Cubs over the Reds 9-4 Wednesday night in Cincinnati.
Starlin Castro went 3-for-4 with two doubles for the Cubs, who matched their season-high in runs on the way to their second win in their last three games following a four-game losing streak.
Brayan Pena hit a solo homer for the Reds, who have lost four of five.
Edwin Jackson (2-2) beat Cincinnati for the second time this year, allowing four runs and five hits in 5 2/3 innings. Brian Schlitter, Wesley Wright, Neil Ramirez and Hector Rondon combined for two-hit relief.
With the score tied 3-3 in the fifth, the Cubs loaded the bases with no outs against reliever Nick Christiani (0-1). Mike Olt hit into an RBI forceout, and Schierholtz followed with a sacrifice fly.
Schierholtz added a two-run single off Sean Marshall against a drawn-in infield in a four-run ninth.
Tigers 5, White Sox 1: Max Scherzer threw six scoreless innings and the Tigers beat the White Sox to finish a two-game sweep in Chicago.
Scherzer (3-1) won his third straight start, allowing four hits while striking out seven to become the first pitcher in team history with at least seven strikeouts in each of his first six starts.
He also became the first in the majors to do it since Tim Lincecum began the 2010 season with at least six strikeouts in his first seven starts.
Cardinals 9, Brewers 3: Allen Craig homered on a four-hit day that included three RBIs, and Matt Adams hit a three-run homer as the Cardinals beat the Brewers in St. Louis.
Jon Jay had three hits and a walk his first four trips to the plate. The Cardinals avoided a three-game sweep by the team with the best record in the major leagues.
Shelby Miller (3-2) worked around homers to Mark Reynolds and Carlos Gomez, allowing three runs and six hits in six-plus innings.