Alfonso Soriano drove in the winning run in a three-run ninth inning Thursday and the Chicago Cubs beat Milwaukee 12-11 to avoid a four-game sweep. Down 11-9 heading into the bottom of the ninth, the Cubs roughed up Brewers closer Francisco Rodriguez (2-7) with a one-out double by David DeJesus, followed by a walk to Luis Valbuena and an RBI single by Starlin Castro. With runners on first and third, Anthony Rizzo doubled to right to drive in the tying run, and Soriano then followed with a single to center that drove in Castro. The victory -- which was only Chicago\'s seventh in 28 games in August -- snapped an eight-game Cubs losing streak against the Brewers. Carlos Marmol (2-2) pitched a 1-2-3 top of the ninth to earn the victory and DeJesus, Castro and Rizzo each drove in two runs for Chicago. Jonathan Lucroy drove in seven runs for Milwaukee with a grand slam home run in the third inning, a two-run single in the sixth and a one-run single in the eighth. Ryan Braun homered and finished with three hits, two RBI and three runs scored.