Recap: Cubs 12, White Sox 3

Cubs 12, White Sox 3: Bryan LaHair clubbed the first of his team's five home runs and the visiting Cubs beat the White Sox for just the second time in the last nine meetings.

LaHair put the Cubs in front for good in the top of the third inning when he launched a two-run homer to right-center field off Zach Stewart (1-2). The visitors continued their long-ball barrage in the fifth, when Starlin Castro hit a two-run blast and Alfonso Soriano added a solo shot. Geovany Soto chased Stewart with a solo home run in the sixth.

After losing his previous seven starts, the Cubs finally made a winner of Matt Garza (3-5), who struck out six in six innings while allowing five hits and a walk. The right-hander surrendered a solo home run by A.J. Pierzynski in the fifth and a two-run blast by Paul Konerko an inning later.

The Cubs busted the game wide open with six runs against three White Sox pitchers in the seventh inning. Soriano, Steve Clevenger and Darwin Barney had RBI singles before Luis Valbuena hit a three-run homer to right off Nate Jones. David De Jesus tied a major-league record during the frame, becoming the sixth player in history to be hit by a pitch twice in the same inning.

Stewart yielded nine hits in defeat, striking out one.

GAME NOTEBOOK: Stewart has allowed 43 runs in his last 44 innings dating back to last September. ... The White Sox have dropped five of seven during their current string of games against National League teams after beginning last week with the majors' second-best all-time interleague record. ... The Cubs placed RHP Ryan Dempster on the 15-day disabled list earlier Monday with right lat tightness.