CHICAGO (AP) Carlos Rodon kept putting runners on base - and the defense kept wiping them out.
The Chicago White Sox did not put many runners on. But they finally managed to score while the Cubs never did.
Pinch-hitter J.B. Shuck drove in Emilio Bonifacio with a sacrifice fly in the eighth inning, and the White Sox beat the Cubs 1-0 on Friday, their eighth win in 10 games.
Neither starter allowed a run, with the Cubs' Kyle Hendricks going seven innings in his third straight scoreless start.
Rodon lasted six innings for the White Sox despite some control issues. As manager Robin Ventura put it, he performed ''kind of a Houdini act out there.''
The South Siders then opened the crosstown series on a winning note thanks to that run in the eighth and a season-high five double plays by the Cubs.
The rally started when Bonifacio, also a pinch-hitter, got hit by Hector Rondon (3-2) leading off the eighth. He stole second and advanced to third on a sacrifice bunt by Adam Eaton before Shuck drove him in with a sacrifice fly to left.
That made a winner of Jake Petricka (3-2), who worked the seventh. Zach Duke struck out three and walked one in the eighth. David Robertson picked up his 19th save in 23 chances, striking out Kris Bryant and Jorge Soler in the ninth before second baseman Carlos Sanchez dived to his right to snag Chris Coglan's liner, ending the game.
All that happened after Hendricks dominated yet again and Rodon got by despite the control issues.
Hendricks ran his scoreless innings streak to 22 1-3. The right-hander gave up five hits and struck out four without a walk, although he did hit Jose Abreu.
In his last three starts, he has lowered his ERA from 4.46 to 3.55.
''I've felt sharper, I think, at other points,'' Hendricks said. ''I still don't feel 100 percent sharp. But as far as my mentality right now, I think it's as good as it's maybe ever been.''
Rodon gave up two hits and struck out six for the White Sox. He walked six but was helped by four double plays.
''They kept me in the game,'' Rodon said. ''Those quick double plays kept my pitch count down. Without that I would have probably been gone by the fourth. But defensively we played great and that's what kept us in the game.''
None of the double plays were bigger or wilder than the one that ended the third. It happened after Hendricks singled with one out and Addison Russell walked.
Right fielder Avisail Garcia raced in for a sliding catch on Dexter Fowler's sinking liner, barely snagging the ball before it hit the ground. He rolled over and dropped the ball as he transferred it out of his glove.
He then threw wide to first attempting to double off Russell, and the ball hit the dugout railing. Catcher Tyler Flowers recovered it and threw to second to double off Hendricks, who was standing on third.
The Cubs challenged the play. But it was upheld after a review.
''I really thought the ball did hit the ground,'' Cubs manager Joe Maddon said. ''I don't even know, conclusively, if it was shown it did not. But beyond all that, just to have total control of the baseball.''
HONORING BANKS, MINOSO
There was a video tribute and moment of silence before the game for Cubs Hall of Famer Ernie Banks and White Sox great Minnie Minoso, who both died in the offseason.
White Sox: SS Alexei Ramirez was back in the lineup after fouling a ball off his left foot Wednesday against Toronto. He did not play Thursday.
Cubs: The Cubs do not expect RHP Jason Hammel to miss a turn in the rotation after he left Wednesday's start against St. Louis because of tightness in his left hamstring. ... INF Mike Olt (hairline fracture in his right wrist) was reinstated from the 60-day DL and optioned to Triple-A Iowa. ... GM Jed Hoyer says INF Tommy La Stella (rib cage inflammation) and 2B prospect Javier Baez, who broke his left ring finger playing for Triple-A Iowa last month, are starting to resume baseball activities.
It's ace against ace, with LHP Chris Sale (7-4, 2.80 ERA) starting for the White Sox and LHP Jon Lester (4-7, 3.48) for the Cubs.