ARLINGTON, Texas (AP) — Oakland completed a three-game road sweep of nearest divisional rival Texas with a 12-1 rout on Wednesday, moving three games clear atop the American League West.

On a day when four games had to be called off due to heavy rain on America's East Coast, St. Louis defeated Milwaukee to trim the Brewers' big lead in the National League Central, San Francisco maintained its 1-1/2 game lead in the NL West by edging San Diego, and Miami abruptly ended the good run of Atlanta pitcher Aaron Harang.

Oakland starter Jesse Chavez (2-0) allowed one hit — in the first inning— and one walk in seven scoreless innings while striking out eight.

Eric Sogard matched his season total with three RBIs while Yoenis Cespedes had two doubles, scored twice and drove in two runs for the A's, who scored 10 runs combined in the third and fourth innings to answer a three-game sweep by the Rangers in Oakland last week.

The Rangers matched a season worst with four errors, including one by shortstop Elvis Andrus on what could have been an inning-ending double play in Oakland's seven-run third.

St. Louis' Allen Craig homered among his four hits to help the Cardinals beat Milwaukee 9-3.

Matt Adams hit a three-run homer while Jon Jay had three hits and a walk his first four trips to the plate for the Cardinals, who avoided a three-game sweep by the team with the best record in the major leagues.

San Francisco starter Tim Hudson came within one pitch of a shutout, leading the Giants to a 3-2 win over San Diego.

Hudson (4-1) struck out six and didn't walk a batter for the fourth time in five starts this season. He looked set for his first shutout in two years before Yasmani Grandal hit a two-run homer with two outs in the ninth.

The Giants finished 5-1 on their homestand.

Miami scored nine runs off National League ERA leader Aaron Harang in beating Atlanta 9-3.

Harang (3-2) gave up 10 hits in 4 2-3 innings, and his ERA rose from a miserly 0.85 to 2.97.

Miami's 9-0 lead after five innings was a rare luxury for starter Nathan Eovaldi (2-1), who has the lowest career run support among active major league starters and he enjoyed the cushion by going seven innings.

The Marlins tied a season high with 15 hits, including seven for extra bases.

Detroit's Max Scherzer pitched six scoreless innings to steer the Tigers to a 5-1 victory over the Chicago White Sox.

Scherzer (3-1) won his third straight start while striking out seven to become the first pitcher in team history with at least seven strikeouts in each of his first six starts.

He also became the first in the majors to do it since San Francisco's Tim Lincecum in 2010.

The Los Angeles Dodgers notched the 10,000th win in franchise history by defeating Minnesota 6-4.

Zack Greinke (5-0) struck out six and did not allow any earned runs in his six innings.

Juan Uribe had two RBIs for the Dodgers, who became the fourth franchise to reach five figures in wins, after the Giants, Cubs and Braves.

Kansas City held on for a tense 4-2 win over Toronto, with Alcides Escobar delivering a two-run double in the seventh inning.

The Los Angeles Angels beat Cleveland 7-1, sending the Indians to their sixth-straight loss, with C.J. Wilson giving up only two hits in eight innings.

Washington's Anthony Rendon had a homer, a single and a double to help the Nationals beat Houston 7-0.

Arizona ended a run of four-straight losses when Miguel Montero hit a leadoff homer in the 10th inning for a 5-4 win over Colorado.

Chicago's Nate Schierholtz drove in three runs and Anthony Rizzo hit a two-run homer as the Cubs rallied for a 9-4 win over Cincinnati.