The Cubs were trailing 4-0 in the seventh inning but chipped away at the deficit, starting with Luis Valbuena's RBI single. They forged a 4-4 deadlock in the eighth with three more runs thanks to Anthony Rizzo's run-scoring double and a two-run homer from Alfonso Soriano off Reds reliever Lyle Ondrusek.
Then in the 10th, Scott Hairston drew a two-out walk from J.J. Hoover (0-4) and Castillo followed by lacing a shot down the third-base line for a go-ahead two-bagger.
Kevin Gregg (1-0) earned the with 1 1/3 scoreless relief innings for the Cubs, who avoided a three-game sweep.
Jay Bruce smacked a solo homer for the Reds.