The Cubs' NL Central lead remained at 2½ games over second-place Milwaukee when Scott Schebler homered on Jose Quintana's first pitch of the game, Phillip Ervin also went deep and the Cincinnati Reds beat Chicago 2-1 on Sunday.
Joey Votto had three hits for last-place Cincinnati, which stopped its three-game losing streak and Chicago's three-game winning streak.
Luis Castillo (10-12) allowed one run, four hits and four walks in 6 2/3 innings, giving up Albert Almora Jr.'s sacrifice fly in the fifth. Amir Garrett and Jared Hughes combined for four outs and Raisel Iglesias pitched the ninth for his 27th save in 31 chances, completing a five-hitter.
Chicago, seeking its third straight division title, has totaled 15 runs in its last seven games.
Quintana (13-10) was bidding for what would have been a career-high 14th win. Schebler drove a 93 mph fastball into the bleachers just left of the batter's eye, and Ervin homered leading off the fourth.
Chicago's Victor Caratini hit a sharper grounder down the line with runners on first and second in the bottom half. First base umpire Hunter Wendelstedt called the ball foul as he unsuccessfully tried to jump out of the way.
Garrett escaped second-and-third, two-outs trouble in the seventh when he relieved and struck out Anthony Rizzo, who slammed his helmet.
Up next for the Cubs: RHP Kyle Hendricks (11-11, 3.71 ERA) takes the mound Monday night in the opener of a three-game series at Arizona. LHP Patrick Corbin (11-5, 3.05) starts for the Diamondbacks.