Hamilton homered off Jake Arrieta in the first and third innings, added another off Zach Phillips in the seventh and topped it off with a one-for-the-books shot against Darren O'Day in the eighth. During the last at-bat, Hamilton took a mighty hack and missed, lined a foul into right-field seats and then sent an 0-2 pitch over the centre-field wall.
He also doubled in the fifth inning. His 18 total bases is a new single-game American League record, and his eight RBIs are a career high.
The last player to hit four home runs in a game was Carlos Delgado on Sept. 25, 2003, for Toronto against Tampa Bay. Two of the 16 to hit four homers in a game did it before 1900.
Adrian Beltre also homered for the Rangers and Neftali Feliz (2-1) gave up one run on four hits and had a career-high eight strikeouts in six innings of work.
Arrieta (2-3) allowed six runs and nine hits in 6 1-3 innings.
ATHLETICS 7, BLUE JAYS 3
OAKLAND, Calif. (AP) — Newcomer Brandon Inge hit a game-ending grand slam to cap a five-run ninth inning rally for Oakland against Toronto.
The Blue Jays took the lead in the top of the ninth off Grant Balfour (1-1) when Eric Thames hit a leadoff triple and scored on Kelly Johnson's two-out single.
Michael Taylor hit an opposite-field fly in the bottom half that landed just inside the right-field line for a leadoff double off Francisco Cordero (1-2) and went to third on Jemile Weeks' sacrifice. Cliff Pennington followed with an RBI single to right field to tie the game.
After two intentional walks, Inge ended it with a drive into the left-field seats.
YANKEES 5, RAYS 3
NEW YORK (AP) — David Robertson struck out Carlos Pena with the bases loaded to end a rocky ninth inning in his first save chance since Mariano Rivera's season-ending knee injury, helping New York end a seven-game skid against Tampa Bay.
Raul Ibanez homered twice, Curtis Granderson also connected and the Yankees handed James Shields (5-1) his first loss in seven starts this season.
Ivan Nova (4-1) rebounded nicely after snapping his 15-game winning streak, pitching seven sharp innings, the last three in a steady rain. He gave up six hits and struck out eight.
Shields gave up three runs and four hits in six innings.
TWINS 5, ANGELS 0
MINNEAPOLIS (AP) — Scott Diamond pitched a career-best seven scoreless innings in his season debut and Ryan Doumit hit a two-run homer, lifting Minnesota over Los Angeles.
Diamond (1-0) struck out six, the most in any of his eight major league starts, and allowed only four hits. He's the first Twins starter to pitch this year without allowing a run.
Diamond got 12 groundball outs, seven to shortstop Brian Dozier, and walked only one.
Dan Haren (1-3) didn't even finish the fourth, the shortest of his seven starts this season after pitching into the seventh inning in each of his last four appearances. He gave up eight hits and five runs with two walks over 3 2-3 innings.
TIGERS 6, MARINERS 4
SEATTLE (AP) — Justin Verlander won his 12th straight decision on the road, Prince Fielder homered and Detroit raced to an early lead before holding on to beat Seattle.
Verlander wasn't his sharpest, giving up three runs and seven hits, but he retired nine of his final 10 batters, struck out six and went at least six innings for the 49th straight start.
Andy Dirks had a single, double and drove in three runs in his first two at-bats, helping give Verlander (3-1) a 5-0 lead.
Detroit needed just three pitches to take a 1-0 lead off Kevin Millwood, who struggled early before making it through five innings. Millwood (0-4) allowed five runs on eight hits with five walks and three strikeouts.
ROYALS 6, RED SOX 4
KANSAS CITY, Mo. (AP) — Billy Butler hit a mammoth three-run homer in the eighth inning to lead Kansas City past Boston.
Chris Getz and Humberto Quintero also drove in runs for the Royals, who overcame another lousy performance by their starting pitcher to pick up a confidence-boosting win.
Daniel Bard (2-4) walked Jarrod Dyson and Alex Gordon to start the eighth before giving way to reliever Matt Albers, whose third pitch to Butler landed beyond the left-field wall.
Kelvin Herrera and Jose Mijares (2-1) had kept Kansas City in the game after Danny Duffy lasted just 4 1-3 innings. Jonathan Broxton worked the ninth for his sixth save.
WHITE SOX 5, INDIANS 3, 10 INNINGS
CLEVELAND (AP) — Alex Rios tripled home the go-ahead run in the 10th inning to lead Chicago over Cleveland.
Cleveland closer Chris Perez (0-1) yielded a leadoff single to Paul Konerko, who was replaced by pinch-runner Brent Lillibridge. After A.J. Pierzynski fouled out, Rios lined a ball over the head of second baseman Jason Kipnis that rolled all the way to the wall.
Rios scored on a fielder's choice, beating the throw home from Kipnis, who fielded a ground ball hit by Alexei Ramirez.
Hector Santiago (1-1) pitched the ninth for his first career win.