St. Louis: Madison Bumgarner struck out 10 in seven scoreless innings and Hunter Pence hit a three-run homer off Adam Wainwright as the surging San Francisco Giants beat the St. Louis Cardinals 9-4 on Friday night.

It was a good day for the National Leaders divisional leaders as the Milwaukee Brewers pummeled the Chicago Cubs 11-5 and the Atlanta Braves resumed sole top spot in the NL East beating divisional rivals the Miami Marlins 3-2.

The Giants won its fourth straight and eight of its past nine games to own the best record in the majors at 36-19.

Bumgarner (7-3) allowed three hits and matched a season high for strikeouts set in his previous start against Minnesota. He walked one.

Pence had two hits and scored twice. Pablo Sandoval extended his hitting streak to 10 games with a single and a double, but his run of nine straight games with an RBI ended.

Hector Sanchez and Gregor Blanco each had a two-run single for the Giants, who scored seven runs with two outs. San Francisco has scored 117 runs with two outs, tops in the big leagues.

Milwaukee’s Ryan Braun homered to highlight a five-run first inning as the Milwaukee Brewers beat the Chicago Cubs 11-5.

Braun had three hits and three RBIs for Milwaukee, which has won 25 of its last 31 games against Chicago. Rickie Weeks and Martin Maldonado had three hits and two RBIs each as the Brewers scored a season-high runs in its most lopsided victory of the year.

Marco Estrada (5-2) allowed three earned runs and six hits in six innings.

In Atlanta, Julio Teheran pitched 7 1-3 innings and scored the tying run in the seventh to help the Atlanta Braves move a game ahead of Miami atop the NL East by beating the Marlins 3-2.

Teheran (5-3) allowed five hits and two runs, which raised his ERA to 1.83, to help the Braves recover after trailing 2-0 in the sixth. Teheran, who came into the game 2 for 25 this season, had a single and a double.

Elsewhere in the NL, Devin Mesoraco hit a grand slam off Bronson Arroyo and the Reds went on to beat the Arizona Diamondbacks 6-4. the Philadelphia Phillies edged the New York Mets 65 in 14 innings and the Pittsburgh Pirates downed the LA Dodgers 2-1.

In the American League, Victor Martinez and Miguel Cabrera hit two-out homers off Seattle starter Hisashi Iwakuma, Detroit’s Justin Verlander made just one mistake on the mound in 7 2-3 strong innings, and the Tigers beat the Mariners 6-3.

Cabrera hit a two-run homer in the third off Iwakuma (3-2) to give the Tigers a 2-0 lead. Martinez followed two innings later with a three-run shot on the 10th pitch of the at-bat and after Seattle intentionally walked Cabrera. It was the 13th homer of the season for Martinez, who had two hits to raise his AL-leading average to .347.

At Toronto, Alex Gordon and Lorenzo Cain homered, Jason Vargas won for the first time in three starts and the Kansas City Royals beat the AL East-leading Toronto Blue Jays 6-1.

Cain went 3 for 4 and matched a career high with four RBIs, and Gordon reached base three times as the Royals won their second straight and handed Toronto its second consecutive loss following a season-best nine-game winning streak.

Vargas (5-2) allowed one run and seven hits in six innings, walked three and struck out seven. He’s 2-0 with a 1.60 ERA in six road starts this season.

Aaron Crow worked the seventh and Kevin Herrera pitched the final two innings, striking out Dioner Navarro for the final out and stranding runners at first and second.

In other AL games, the Oakland Athletics beat the Los Angeles Angels 9-5, the Tampa Bay Rays topped the Boston Red Sox 3-2 in 10 innings and the Minnesota Twins flexed some muscle in beating the New York Yankees 6-1.

In Interleague play Friday, the Cleveland Indians beat the Colorado Rockies 5-2, the Washington National routed the Texas Rangers 9-2 and Yonder Alonso hit a two-run homer to lead the San Diego Padres past the Chicago White Sox 4-1.