Diamondbacks 14, Mariners 10: Ryan Roberts hit an inside-the-park home run, Justin Upton ended a long drought with a three-run shot and host Arizona tied a franchise record with six homers during a wild win over Seattle. Miguel Montero hit a two-run homer, Aaron Hill connected for the third straight game, and Jason Kubel and John McDonald each had a solo shot to match the team record set twice before. Montero had four RBI.
Braves 10, Yankees 5: Jason Heyward hit two of a record nine homers at the new Yankee Stadium, and Atlanta outslugged the Yankees. Freddie Freeman, Martin Prado, Heyward and David Ross all connected off Phil Hughes (7-6) to build a 6-1 lead. Alex Rodriguez hit his 640th career homer, and Robinson Cano, Derek Jeter and Eric Chavez all hit long balls against Tommy Hanson (8-4).
Red Sox 15, Marlins 5: David Ortiz hit a grand slam for one of host Boston's four homers as the Red Sox set a season high in runs to beat Miami. Mike Aviles, Jarod Saltalamacchia and Will Middlebrooks also homered. The Red Sox had 16 hits and won their fourth straight game.
Nationals 3, Rays 2: Stephen Strasburg (9-1) struck out 10 and host Washington snapped a four-game losing streak. Strasburg won his sixth consecutive start by allowing five hits and two runs over seven innings.
Brewers 8, Blue Jays 5: Yovani Gallardo (6-5) pitched into the seventh inning, Ryan Braun hit one of host Milwaukee's four homers and the Brewers beat Toronto. Martin Maldonado, Carlos Gomez and Corey Hart each homered for Milwaukee in a five-run second inning. Edwin Encarnacion hit his 20th home run for the Blue Jays.
Rangers 4, Padres 2: Yu Darvish (9-4) settled down to hold host San Diego to five hits over eight innings and got his first major-league hit to help Texas to its sixth straight win. Darvish, who struck out eight and walked three, leads all rookies with nine victories. Yorvit Torrealba drew a bases-loaded walk with two outs in the sixth to bring in Josh Hamilton with the go-ahead run.
Mets 4, Orioles 3: Dillon Gee (5-5) extended the Mets' shutout streak to 29 innings before Baltimore broke through late, and host New York held off the Orioles for a three-game sweep.
Cardinals 3, Tigers 1: Jake Westbrook (6-6) pitched his first complete game in over two years, giving up only an unearned run in the Cardinals' victory at Detroit.
Royals 2, Astros 1: Bruce Chen (6-6) pitched into the sixth inning on three days' rest, and Kansas City won at Houston. Alex Gordon tripled and scored for the Royals.
Twins 2, Pirates 1: Josh Willingham hit a go-ahead homer in the eighth inning and visiting Minnesota scratched past Pittsburgh.