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 Dodgers: Josh Beckett will make his first start of Spring Training when the Dodgers host the Giants on Tuesday at 12:05 p.m. PT. Beckett is reinventing himself as a pitcher after an impressive career as a hard-thrower and has spent considerable time in the past week working with Hall of Famer Sandy Koufax. Owed $31.5 million over the next two seasons, Beckett is virtually assured a spot in the starting rotation -- even though there won't be room for three of the eight current candidates.
Ken Gurnick is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.