Matt Garza pitched seven strong innings, Alfonso Soriano homered and scored four runs, and the Cubs pulled away late to beat the White Sox 8-2 on Monday night at U.S. Cellular Field.
Dave Sappelt had a career-high four hits, while Soriano had three. Luis Valbuena drove in three runs, hitting the tiebreaking two-run double and scoring during a five-run eighth.
Garza (5-1), meanwhile, came through with another terrific outing. He's 4-0 in his last five starts after allowing two runs -- one earned -- and five hits, striking out six without a walk. He's lowered his ERA from 4.98 to 3.22 during this stretch, while his trade value -- his name has been mentioned in rumors -- has remained high.
Valbuena broke a 2-2 tie with a two-run double off reliever Matt Thornton (0-3) and came around on a single by Sappelt off Nate Jones. Ransom capped the rally with a two-run, bases-loaded single, and the Cubs completed the four-game season sweep against their crosstown rivals.
White Sox starter Hector Santiago lasted 5 1-3 innings, allowing two runs and five hits.
The game, a makeup from May 28, this game was delayed 29 minutes at the start by rain.
The Cubs continued to unload players before the game, trading outfielder Scott Hairston to the Washington Nationals for minor league pitcher Ivan Pineyro. In the past week alone, they've also dealt pitchers Scott Feldman and Carlos Marmol, along with catcher Steve Clevenger, and Garza could be on his way out, too.
General manager Jed Hoyer acknowledged Monday that teams are interested in the right-hander, saying he's "a guy we've gotten a lot of phone calls on" and has "opened a lot of eyes" of late.
Garza gave up a solo drive in the third to Josh Phegley, who hit his first career homer against Tampa Bay's David Price on Sunday. That made him the quickest White Sox rookie to homer in consecutive games since Magglio Ordonez went deep in his second and third games in 1997.
Soriano gave the Cubs a 2-1 lead when he knocked a high pitch to the seats in left leading off the sixth, just after lightning flashed and thunder cracked. The home run was his 13th on the season and sixth in 10 games. It was also the 385th of his career, putting him in sole possession of 59th place on baseball's all-time list ahead of former White Sox All-Star Harold Baines.
But the White Sox immediately tied it, thanks to some shaky defense by the Cubs.
Second baseman Darwin Barney threw wildly to first on an infield single by Gordon Beckham with one out, allowing the runner to advance to second, and a single by Alex Rios put men on the corners. With two outs, catcher Dioner Navarro bounced a throw to second that Barney could not handle on a double steal, allowing Beckham to score the tying run. It was also the first time a White Sox player swiped home since Juan Pierre did it against Cleveland on Oct. 2, 2010.