CHICAGO — Jason Hammel won his career-best fifth straight start, pitching four-hit ball over six scoreless innings, and the Chicago Cubs beat the Los Angeles Angels 3-1 on Wednesday night for their season-high ninth straight win.

The major league-leading Cubs matched their longest streak since Aug. 6-15 of last year and moved a season-best 30 games over .500 (71-41). They come into a four-game set against St. Louis at Wrigley Field with three straight series sweeps after consecutive victories over the Angels.

Hammel (12-5) struck out six, walked two and helped himself at the plate when he singled and scored in the fifth against Ricky Nolasco to make it 2-0.

Addison Russell made it 3-1 with a solo homer off J.C. Ramirez in the eighth.

Dexter Fowler chipped in with two hits, including an RBI double. Anthony Rizzo drove in a run with a single, and the Cubs won for the 12th time in 13 games.

NATIONALS 7, INDIANS 4: Jayson Werth hit a three-run home run, Anthony Rendon had a two-run double and Washington’s offense awoke at home against Cleveland.

Werth was 2 for 3 and scored three runs to lead the outburst. Rendon and Ben Revere each went 2 for 4.

AMERICAN LEAGUE

BLUE JAYS 7, RAYS 0: J.A. Happ and three relievers combined on a four-hitter as Happ became the first 16-game winner in the majors, and Toronto beat Tampa Bay at home.

Troy Tulowitzki homered and had a season-high five RBI, and Justin Smoak also connected for the Blue Jays.

Happ (16-3) allowed four hits, all singles, to win his 10th consecutive decision.

Joe Biagini, Jason Grilli and Ryan Tepera worked one inning each to complete Toronto’s seventh shutout.

NATIONAL LEAGUE

GIANTS 1, MARLINS 0: Two days after Brandon Crawford battered host Miami with seven hits, he beat them with one swing, homering in the fourth inning, and San Francisco won a series for the first time since the All-Star break.

Crawford tied an NL record with seven hits in the opener of the three-game set. In the finale, he put San Francisco ahead with his 11th homer leading off the fourth.

Miami hitting coach Barry Bonds was ejected for the first time this season in the sixth inning for arguing with the umpires about balls and strikes.

PHILLIES 6, DODGERS 2: Freddy Galvis hit a three-run home run in the seventh inning, Ryan Howard added a three-run, pinch double in the ninth and Philadelphia won at Los Angeles.

Los Angeles closer Kenley Jansen pitched the ninth, even with the Dodgers down 3-2, and loaded the bases. Howard hit the bases-clearing double to right for insurance runs in the victory that dropped the Dodgers a game behind first-place San Francisco in the NL West.

CARDINALS 3, REDS 2: Matt Carpenter and Jhonny Peralta homered to back up a second straight dominant start by Jaime Garcia in host St. Louis’ victory over Cincinnati.

Garcia (9-8) needed only 85 pitches to get through eight-plus innings. Seung-Hwan Oh finished for his 10th save.

PADRES 4, PIRATES 0: Travis Jankowski capped San Diego’s scoring with a straight steal of home in the eighth inning, and Edwin Jackson limited host Pittsburgh to two hits in seven innings.

BREWERS 4, BRAVES 3: Chris Carter hit a three-run homer, Chase Anderson won his third straight decision and host Milwaukee beat Atlanta.