Felix Doubront pitched six scoreless innings and rookies Javier Baez and Matt Szczur homered as the Chicago Cubs held on to beat the Pittsburgh Pirates 6-4 and snap a season-worst seven-game losing streak.

Doubront (2-1) allowed four hits in his third start since being acquired from the Boston Red Sox in a trade. He helped send the Pirates to just their second loss in their last nine games.

Elsewhere, Bryce Harper continued to thrive when the Washington Nationals' left fielder hit a mammoth two-run homer in the second inning to jumpstart a 10-3 rout of the New York Mets.

The Nationals (84-63) racked up 16 hits - and had at least one in every inning - in beating the Mets for the 13th time in the last 14 games at Citi Field.

Centre fielder Billy Hamilton's two-run triple in the seventh inning gave the Cincinnati Reds some much-needed breathing room in a 5-1 victory over the Milwaukee Brewers.

Other results:

Royals 7, Red Sox 1

Yankees 3, Orioles 2

Cardinals 5, Rockies 4

Blue Jays 6, Rays 3

Rangers 3, Braves 2

White Sox 5, Twins 1 (Game 1)

White Sox 7, Twins 6 (Game 2)

Phillies 2, Marlins 1

Tigers 5, Indians 4

Diamondbacks 10, Padres 4

Dodgers 17, Giants 0

Angels 5, Astros 2

As 3, Mariners 2 (10 innings)

Source: Reuters