Ryan Kalish hit a two-run double and an RBI triple and the Chicago Cubs beat the Philadelphia Phillies 8-3 on Sunday to avoid a sweep.
Cubs starter Carlos Villanueva allowed a run in five innings in his first start and third outing of the season.
A.J. Burnett, who signed a one-year, $16 million contract with the Phillies after he spent the last two seasons with the Pittsburgh Pirates, allowed eight runs, four earned, in 5 2-3 innings. He struck out three but walked six.
The Cubs scored four runs in the first and sixth innings.
Kalish opened up the scoring with an RBI triple in the first. It was his first hit since Sept. 11, 2012, when he played for the Boston Red Sox.
The Cubs extended their lead to 4-0 on sacrifice flies by Nate Schierholtz and Ryan Sweeney and Starlin Castro's RBI double.
The Cubs scored eight runs and were 4 for 40 with runners in scoring position in their previous five games.
The Phillies scored a run on Chase Utley's groundout in the fifth to cut the lead to 4-1. Manager Ryne Sandberg challenged the call that Utley was out at first, but the review confirmed it. Ryan Howard lined into an inning-ending double play.
The Phillies went 1 for 15 with runners in scoring position. They scored two runs off reliever Jose Veras in the ninth.
The Cubs added four runs in the sixth. With runners on first and third, shortstop Jimmy Rollins fielded a grounder deflected by Burnett, but Rollins didn't touch second base or throw to first as a run scored. Kalish then hit a two-run double and Anthony Rizzo added an RBI single.
Villanueva made his first start after he pitched in relief in two extra-inning games against the Pirates. He allowed game-winning hits in both games.