There were eight home runs as the New York Mets beat the Washington Nationals 9-7, while the Toronto Blue Jays extended their MLB winning run to six.
Wilmer Flores' fifth home run in as many games gave the Mets a lead they would not squander at Citi Field as they defeated the National League East-leading Nationals.
Troy Tulowitzki came through with a two-run single in the bottom of the eighth inning to see the Blue Jays edge the Detroit Tigers 5-4.
Trevor Story launched his 20th and 21st home runs of the season and had four RBIs to lead the Colorado Rockies to an 11-2 win over the Philadelphia Phillies.
Salvador Perez delivered a walk-off two-run double to lift the Kansas City Royals to a 4-3 victory over the Seattle Mariners.
The San Diego Padres shut out the Los Angeles Dodgers 6-0, the Oakland Athletics defeated the Houston Astros 3-1, and the Minnesota Twins crushed the Texas Rangers 10-1.
The Los Angeles Angels beat the Tampa Bay Rays 5-1, the St. Louis Cardinals got the better of the Pittsburgh Pirates by the same scoreline, and the New York Yankees edged the Cleveland Indians 5-4.
The Atlanta Braves claimed a narrow 4-3 win over the Chicago Cubs after 11 innings.
STORY ON SONG
Story's two home runs against the Phillies gave him 21 so far this season. That ties the National League rookie record for most homers in the first half of the season set by Dave Kingman in 1972 and matched by Albert Pujols in 2001.
PEREZ POWERS ROYALS
Down a run in the ninth, Royals All-Star Perez drilled a walk-off double to the centre-field wall, scoring two runs to give the reigning World Series champions victory. It the third time this season that the Royals have won a game in which they trailed by at least three runs in the eighth inning or later.
The Phillies' lone two runs against the Rockies came on Ryan Howard's 369th career homer, tying him with Hall-of-Famer Ralph Kiner and Todd Helton for 78th on baseball's all-time list.
STRASBURG, SYNDERGAARD SET FOR BATTLE
A pitching match-up between Cy Young Award candidates, Stephen Strasburg (11-0, 2.71 ERA) takes the mound against host Noah Syndergaard (9-3, 2.41 ERA) as the Nationals face the Mets. Both pitchers enter with 123 strikeouts this season.