DETROIT (AP) - Miguel Cabrera crushed a home run that traveled so far it bounced all the way out of Comerica Park.
Justin Upton's long drives sent the Tigers home with a win.
Upton hit a liner over the left-field wall in the 12th inning for his second homer of the game, lifting Detroit past the Seattle Mariners 8-7 on Monday night.
"There's been a lot of ballgames that I could've helped, but I didn't," said Upton, who entered the game batting just .234 with six homers and 28 RBIs. "So to win it tonight for the guys was awesome."
Upton connected on a 2-2 pitch from Vidal Nuno (0-1) leading off the 12th. It was his first game-ending homer since 2013 with Atlanta against Washington.
Nuno had pitched two scoreless innings.
Cabrera hit a two-run homer for the Tigers in the first that cleared a brick wall in right-center, bounced off a concrete concourse and into the street. The homer was estimated at 461 feet.
"Guys were just in awe," Upton said. "That ball, off the bat, you didn't know when it was going to land. He's hit a few like that. It's pretty impressive."
Upton's first homer of the night, a two-run shot that cleared a second tier of bushes beyond the center-field wall, gave Detroit a 7-6 lead in the seventh.
Aníbal Sanchez (4-7) worked a scoreless inning for the win.
The Tigers struggled to hold leads all night long. But they turned four double plays, limiting the number of runs the Mariners scored.
"It seems strange to say when you score seven runs, but we know we left a lot out there," Seattle manager Scott Servais said. "We had the double plays early, and then we had a lot of guys on base in the later innings, but could never get the one really big hit we needed."
Kyle Seager hit a solo homer in a four-run second that included Seth Smith's go-ahead, two-run single to put Seattle ahead 4-2.
Detroit went back ahead in the fourth on Cameron Maybin's two-run triple. But once again, the Tigers couldn't keep the lead. Adam Lind's two-run homer in the fifth gave the Mariners a 5-4 advantage. It was his ninth homer in 82 at-bats after going deep only once in his first 92 at-bats this season.
After Upton's first home run, Seattle tied it 7-all in the eighth on Leonys Martin's RBI single past a diving Cabrera at first base.
Both starting pitchers lasted five innings and combined to give up 11 runs.
Mike Pelfrey allowed 12 hits and six runs for the Tigers. Detroit's bullpen, which manager Brad Ausmus said before the game was "shot," had three relievers combine to give up one run over the next four innings.
Seattle's Nathan Karns yielded five runs on seven hits and three walks.
"We're probably lucky we got five innings out of him, and that's getting to be a pattern," Servais said. "We're asking our bullpen and offense to really pick up the starting pitching right now, and that's tough."
Upton connected off Nick Vincent in the seventh.
Joaquin Benoit, facing one of his former teams, allowed Cabrera and Victor Martinez to lead off the ninth with consecutive singles before shutting down the Tigers by getting Nick Castellanos to fly out, Upton to hit a popup and Mike Aviles to strike out.
"That was a crazy game," Servais said. "You had all the runs early, and then both teams got nice work from their bullpens."
Mariners: RHP Taijuan Walker left the team to have an MRI on his right foot after it bothered him during a five-inning, 88-pitch start Sunday in which he didn't give up a run in a 2-1 loss to Boston. Walker is scheduled to start Friday at home against St. Louis, but that outing might be in jeopardy.
Mariners: LHP James Paxton (1-2, 2.86 ERA) starts the second game of the four-game series.
Tigers: RHP Justin Verlander (7-5, 3.87) will be on the mound, aiming to win his fourth straight outing.