ST. PETERSBURG, Fla. -- Tom Mastny earned himself a chance to become the Cleveland Indians' closer.
"He'll get another opportunity," Indians manager Eric Wedge said. "Mastny did a great job. The way he pitched tonight said a lot about his mental toughness. It was great to see for him and for us."
Cleveland, which has lost a major league-high seven games this year when leading after eight innings, has been looking to fill the closer role since Bob Wickman was traded to Atlanta last month.
"He throws a lot of strikes," Wedge said of Mastny. "From what we've seen up there, his secondary stuff has been a little better maybe than we anticipated. His fastball has some life to it, and he trusts his stuff."
Jeremy Sowers won his fourth consecutive decision and Jhonny Peralta had a two-run triple during a three-run fourth for the Indians, who are 14-28 on the road since May 8. Travis Hafner hit his 37th homer of the season
"It's always nice to come in there -- Jeremy pitched a great game -- and just save the game for him," Mastny said. "I was just going out there and trying to throw strikes."
Mastny made just his fourth appearance since having his contract purchased from Triple-A Buffalo on July 24.
"Tom's composure and mound presence is extremely good, and he throws strikes," Sowers said.
Sowers (5-3) gave up two runs and four hits in six innings. He is 4-0 in last six starts.
Tampa Bay starter Tim Corcoran (4-5) didn't allow a hit until Victor Martinez lined a single to right with one out in the fourth.
After Ryan Garko had a two-out single later in the fourth, Peralta tied it at two with a two-run triple. The Indians took a 3-2 lead when Peralta scored on Joe Inglett's single.
The fourth inning ended when Inglett was thrown out at the plate trying to score from second after Corcoran's ball four pitch to Grady Sizemore went to the backstop.
Hafner extended the Cleveland lead to 4-2 on his solo shot off Shawn Camp in the seventh. He tied his career-high from 2004 with 109 RBI.
Tampa Bay got the run back in the bottom of the seventh on Carl Crawford's run-scoring single off Fausto Carmona, who has given up 10 earned runs over his last 15 innings.
Andy Marte made it 5-3 with an RBI double in the eighth.
Dioner Navarro put the Devil Rays ahead 2-0 on a two-run double in the first. Rocco Baldelli and Jonny Gomes, who walked, scored on the hit.
"We had the lead, unfortunately we didn't keep scoring," Navarro said.
Tampa Bay has lost 44 times this season after having the lead.
Corcoran allowed three runs, five hits, five walks and had two strikeouts in four innings. The right-hander is 0-5 in seven starts since his last win on July 9.
"I wasn't aggressive," Corcoran said. "There's been a couple starts where I haven't been aggressive. The same thing happened in those starts."
Hafner has four homers and 15 RBI during a 10-game hitting streak. ... Cleveland drew four walks in the first two innings, but hit into a pair of double plays. ... Corcoran threw 43 of 85 pitches for strikes. He made 41 pitches in the fourth. ... Indians LF Jason Michaels snapped an 0-for-17 slide with a fifth-inning single. ... Crawford is hitting .365 (38-for-104) with runners in scoring position this season.