In the tenth, J.J. Hoover (0-4) walked a batter with two outs and Castillo followed with a double to put the Cubs ahead to stay.
Pittsburgh’s Wandy Rodriguez won his fourth consecutive start as the Pirates hung on to down Milwaukee 5-4. Rodriguez (6-2) gave up three earned runs in five innings to earn the victory.
Pedro Alvarez had a two-run double as the Pirates built an early four-run lead which proved to be just enough.
Arizona’s Patrick Corbin became the first Diamondbacks left-hander to start a season with eight straight wins, leading the hosts to a 6-5 win over San Diego.
New York’s Ike Davis busted out of his prolonged slump with a tie-breaking single in the eighth inning as the Mets rallied past Atlanta to win 4-2 and end an eight-game losing streak at home.
Toronto’s Munenori Kawasaki hit a game-ending two-run double in a four-run ninth inning, lifting the Blue Jays to a 6-5 win over Baltimore.
Detroit’s Max Scherzer pitched six solid innings to remain undefeated this season, steering the Tigers to a 6-1 win over Minnesota.
Los Angeles’ Josh Hamilton started a comeback when he homered leading off the seventh inning as the Angels beat Kansas City 5-2 to notch their eighth straight win.
Oakland’s Bartolo Colon struck out a season-high nine in seven scoreless innings as the Athletics beat Houston 6-2, winning their ninth straight game over the Astros this season.
Chicago’s Dayan Viciedo and Alex Rios each threw out a runner as the White Sox beat Miami 5-3.