CHICAGO – Jonathan Lucroy hit a grand slam and drove in seven runs for Milwaukee, but Alfonso Soriano’s RBI single capped a three-run comeback in the ninth inning Thursday that lifted the Chicago Cubs over the Brewers, 12-11.

In a seesaw game featuring a combined 15 extra-base hits, the Cubs led 3-0, trailed 9-3 and were still down 11-9 going into the ninth.

Starlin Castro hit an RBI single against Francisco Rodriguez (2-7), Anthony Rizzo tied it with his second double of the afternoon and Soriano won the game with his one-out drive off the center-field wall.

Lucroy tied his career high for RBI and Rickie Weeks had five hits. Ryan Braun and Cody Ransom also homered for Milwaukee.

PHILLIES 3, METS 2: Kyle Kendrick struck out six in 72/3 innings to lead Philadelphia at home.

Ryan Howard hit a go-ahead sacrifice fly in the fifth. Jimmy Rollins was benched after a pair of baserunning blunders.

NATIONALS 8, CARDINALS 1: Bryce Harper hit his third home run in two games, Jayson Werth homered for the first time since May, and Edwin Jackson struck out 10 as Washington won at home.

GIANTS 8, ASTROS 4: Hunter Pence hit a go-ahead two-run single in the seventh and San Francisco rallied from a 4-0 deficit at Houston.

AMERICAN LEAGUE

ORIOLES 5, WHITE SOX 3: Zach Britton struck out a career-high 10 in eight innings, and Taylor Teagarden and Adam Jones homered as Baltimore won at home.

Britton (4-1) gave up one run, seven hits and did not issue a walk.

BLUE JAYS 2, RAYS 0: Carlos Villanueva pitched six sharp innings and Kelly Johnson drove in both runs to lead Toronto at home.

ROYALS 2, TIGERS 1: Jeremy Guthrie pitched effectively into the eighth inning and Alex Gordon homered to lead Kansas City over visiting Detroit.

Prince Fielder had three hits for the slumping Tigers.

ATHLETICS 12, INDIANS 7: Oakland hit four home runs and finished a four-game sweep at Cleveland.

George Kottaras’ three-run double broke a 1-1 tie in the fourth, while Coco Crisp, Cliff Pennington, Josh Reddick and Josh Donaldson homered.

MARINERS 5, TWINS 4: Blake Beavan gave up two runs in seven innings and Trayvon Robinson drove in two runs to lead Seattle at Minneapolis. Kyle Seager also drove in two runs for the Mariners.