Matt Wallach's RBI single tied the game at 6, as the Dodgers overcame an early 6-2 deficit.
Chad Billingsley, in his first start for the Dodgers after missing the last six weeks of 2012 with a partially torn elbow ligament, was roughed up in the first inning for two runs on extra-base hits by the first three Cubs batters -- doubles by Luis Valbuena and Darwin Barney, and Schierholtz's homer.
The Dodgers answered with a two-run single by Nick Punto in a bottom of the first that started with a 16-pitch strikeout of Dee Gordon and a pair of walks by Cubs starter Carlos Villanueva, who was replaced after Punto's hit by Blake Parker.
Chicago reclaimed the lead in the third inning on back-to-back homers by McDonald and Castillo -- McDonald's a three-run blast -- off Chris Capuano, who picked up for Billingsley.
The Dodgers scored three runs in the fifth inning without a hit off Robert Whitenack, who loaded the bases on a pair of walks and a hit batsman, the first two runs scoring on a balk and groundout. The Dodgers scored a third run later in the inning on another balk, this one by Michael Bowden.
Up next for the Cubs: Right-hander Edwin Jackson will make his Cubs debut on Tuesday at 2:05 p.m. CT against the Rockies when the team returns to HoHoKam Stadium. Jackson signed a four-year, $52 million deal this offseason, his first long-term deal. David DeJesus, Starlin Castro, Brett Jackson and Alfonso Soriano are in the lineup. The game will be broadcast on cubs.com.
Ken Gurnick is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.