Updated

Jason Donald's tiebreaking single off Tom Wilhelmsen in the top of the seventh inning completed Cleveland's comeback from seven runs down and lifted the Indians to a 9-8 victory against the Seattle Mariners on Tuesday night.

Carlos Santana hit a three-run homer and Cleveland reliever Rafael Perez (1-0) pitched a scoreless sixth inning to pick up the win. Chris Perez got his third save in four tries, despite loading the bases in the bottom of the ninth.

Mariners reliever Charlie Furbush (0-1) allowed a hit by Travis Hafner and a walk to Shelley Duncan before striking out the next two in the seventh and being replaced. However, Wilhelmsen could not close the inning.

Justin Smoak had a career-high four hits for Seattle.

Cleveland starter Justin Masterson was cruising along until the fourth inning. Leading 2-1, the Mariners put together five hits and scored six runs, plus Masterson walked two and hit a batter in the inning.

Ichiro Suzuki drove in two runs with a line drive to right field. After Smoak picked up his second single of the inning, Masterson was finally lifted after throwing 71 pitches in 3 2-3 innings. He allowed eight earned runs, walked four and gave up seven hits.

Seattle's Kevin Millwood became just as ineffective in the top of the fifth. Santana's third homer was the main blow as Millwood allowed five hits without getting an out in the inning.

Donald's fly to center off reliever Erasmo Ramirez tied the score 8-all and capped the seven-run inning. By the end of the inning every Cleveland player had a hit.

John Jaso hit a two-run homer to drive in Ryan, who had walked, in the bottom of the third inning to give the Mariners a 2-1 lead.

The Indians got on the board in the first when Hafner singled hard to left field to drive in Michael Brantley. It was a laborious first inning for Millwood, who threw 26 pitches, allowed two hits and walked one. By contrast, Masterson threw just nine pitches in a 1-2-3 first.

Millwood adjusted quickly. He threw 26 pitches over the next two innings and allowed just one hit before unraveling in the fifth.

NOTES: Kyle Seager had the 50,000th hit in Mariners history, a single in the fourth innning. Smoak scored Seattle's 25,000th run on a bases-loaded walk to Brendan Ryan in the same inning. ...

The Mariners gave catcher Miguel Olivo the day off. Olivo is hitting .111 this season and also has twice as many strikeouts (8) as hits (4). ... The Indians don't expect SS Asdrubal Cabrera back before their six-game road trip ends. Cabrera was placed on the bereavement list Tuesday following a family death. Cleveland called up LHP Nick Hagadone to replace Cabrera.