CHICAGO — A.J. Burnett's early control problems, compounded by Philadelphia's defensive woes, spoiled what could have been an impressive opening road trip for the Phillies.

Ryan Kalish had a two-run double and a triple in the first inning and the Chicago Cubs beat the Philadelphia Phillies 8-2 on Sunday to avoid a sweep.

Carlos Villanueva (1-2) allowed a run in five innings in his first start and third outing of the season for the Cubs.

Burnett (0-1), 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 and walked six.

"I just didn't get it done, that's the bottom line. I was pitching behind. I missed some first pitch strikes, but the key today was throwing strikes. That was embarrassing. I don't care who you are that is unacceptable," Burnett said. "First pitch strikes are big and coming out and setting the tone is big and neither of that was done today."

The Cubs scored four runs in the first and sixth innings.

The Phillies finished their opening road trip with a 3-3 record. They return to Philadelphia on Tuesday for its home opener against the Brewers.

The game was originally scheduled for Monday, but it was pushed back due to impending inclement weather.

"It could have been easily 4-2, maybe 5-1, but 4-2, not a bad week, but it could've been better," Jimmy Rollins said.

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.

"They've strung together a lot of good at-bats over the last five or six days. We just don't have a lot to show for it," Cubs manager Rick Renteria said. "Today, we happened to have some balls find holes, and we took advantage of it."

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 14 with runners in scoring position.

Ryan Howard was 0-for-5, but just missed two home runs.

"He hit the ball on the screws and right at people. That's a good sign," Rollins said.

They drew four walks and scored two runs off reliever Jose Veras in the ninth.

The Cubs added four runs in the sixth. With runners on first and third, 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.

It appeared Rollins could have easily stepped on the base for the force out to end the inning.

"I got the ball, I was even with the bag and I was going so fast and I see the bag and at the same time I'm thinking I can actually step on this bag if I could stop, but I couldn't stop then I looked up and ((Emilio) Bonifacio was only a step from the (first) base," Rollins said.

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.

Notes: Castro moved to sixth in the Cubs lineup after hitting second or third in previous games. Castro was 9 for 22 in his career against Burnett entering Sunday. "Maybe we'll have a lot of guys on base and see if he can go ahead and put himself in a position to drive in some runs," Renteria said. ...Phillies RHP Kyle Kendrick (0-0, 1.29 ERA) will start against RHP Kyle Lohse (0-1, 3.86). ...LHP Cole Hamels, on the disabled list for biceps tendinitis, made his first rehab start Sunday for Class A Clearwater. He allowed two runs and three hits in four innings. He struck out four without a walk, but gave up two home runs.