Toronto had taken a 7-5 lead in the top half, but Elvis Andrus doubled in a run off Ryota Igarashi to start the comeback. Hamilton's third game-ending homer came off Jason Frasor (0-1) and was his 20th home run of the year.
In the top of the 13th, Omar Vizquel hit an RBI single for Toronto and later scored after Nelson Cruz misplayed a flyball by Yunel Escobar with two outs.
Yoshinori Tateyama (1-0), the seventh Rangers pitcher, got one out for the win.
TIGERS 6, TWINS 3
MINNEAPOLIS (AP) — Max Scherzer struck out nine in a rain-shortened outing and Prince Fielder had his first four-hit game with the Tigers, leading Detroit to a victory over the Twins.
Scherzer (4-3) gave up three runs and six hits in 5 1-3 innings before leaving due to a rain delay and Andy Dirks had two doubles and two RBIs for the Tigers. Miguel Cabrera added two hits and two RBIs and Jose Valverde picked up his eighth save in 10 chances.
Carl Pavano (2-4) allowed six runs on 10 hits in 4 1-3 innings for the Twins, who have lost four straight. Justin Morneau of New Westminster, B.C., and Denard Span homered for Minnesota, but the Twins struck out 16 times.
YANKEES 9, ATHLETICS 2
OAKLAND, Calif. (AP) — Mark Teixeira hit a two-run homer and a solo shot among his career high-tying four hits to back CC Sabathia's sixth win of the year, and the Yankees beat the Athletics for their fourth straight win.
Teixeira and Robinson Cano each homered for a second straight day as the Yankees added three more longballs to give them nine homers in the last three games.
Oakland's Josh Reddick connected leading off the third for his 13th home run and second in as many games, but the A's lost their eighth in a row at home to the Yankees in the Coliseum.
Sabathia (6-2), back in his native Bay Area, outpitched former Yankee Bartolo Colon (4-5).
WHITE SOX 14, INDIANS 7
CHICAGO (AP) — Dayan Viciedo homered in his third straight game, Paul Konerko had four hits, and the Chicago White Sox pounded Derek Lowe and the short-handed Indians for their eighth win in nine games.
Konerko had three doubles while raising his average from .381 to .396, drove in two runs and scored three.
Lowe (6-3) lasted just 2 1-3 innings in his shortest start this season and watched his ERA jump from an American League-leading 2.15 to 3.25 after giving up eight runs.
Jake Peavy (6-1) gave up a pair of two-run homers to Chicago-area product Jason Kipnis and allowed seven runs in all while struggling through 6 1-3 innings.
ROYALS 4, ORIOLES 3
BALTIMORE (AP) — Eric Hosmer singled in the tie-breaking run in the eighth inning, Billy Butler homered and the Royals rallied to beat the Orioles.
Hosmer went 3 for 4 with two RBIs to help the Royals make up a three-run deficit. Butler's 10th homer cut it to 3-2 in the sixth, Hosmer scored the tying run in the seventh and then put Kansas City ahead for the first time in the eighth.
Chris Davis and J.J. Hardy hit solo home runs for the Orioles, and Adam Jones extended his career-best hitting streak to 17 with a third-inning triple.
Pedro Strop (3-2), had his streak of 13 straight scoreless appearances end.
Greg Holland (1-2) pitched the seventh, and Jonathan Broxton got three outs for his ninth save in 11 chances.
RED SOX 3, RAYS 2
BOSTON (AP) — Jarrod Saltalamacchia had a pinch-hit, two-run homer off Fernando Rodney with one out in the ninth inning to lift the Boston Red Sox to a win over the Tampa Bay Rays.
Daniel Nava walked to open the ninth and Nick Punto sacrificed before Saltalamacchia lofted a high drive to right-centre for Boston's 11th win in 15 games.
Rodney (2-1) had converted his first 15 save chances. Rich Hill (1-0) worked one inning for the win.
A night after the teams had a testy benches-clearing scrum in the ninth inning that turned into an exchange of words between the managers that lingered into Saturday, the teams played a taught game highlighted by the pitching of aces Josh Beckett and David Price — and a throw by B.J. Upton.
Boston's Beckett and Tampa Bay's Price each pitched seven impressive innings.
ANGELS 5, MARINERS 3
SEATTLE (AP) — Albert Pujols hit a home run in his third straight game and pinch hitter Alberto Callaspo came through with a grand slam in the sixth inning to give the Los Angeles Angels a win over the Seattle Mariners.
Callaspo's slam came against Mariners starter Felix Hernandez (4-4) and was the first pinch grand slam for the Angels since Shane Halter hit one against Tampa Bay in 2004.
Pujols, who now has seven homers after not hitting any in April, hit a 2-1 fastball from Hernandez over the left-centre wall in the fourth inning. Pujols has homered in six of his last 11 games.
Jerome Williams (5-2) earned the victory, working six innings and allowing five hits and three runs.