Hafner hit a two-run homer and drove in the go-ahead run on a ninth-inning single and the Indians beat the Tampa Bay Devil Rays 4-3 on Friday night.
Andy Marte doubled and Grady Sizemore walked to open the ninth off Juan Salas (0-1). Closer Al Reyes replaced Salas and struck out David Dellucci before Hafner lined a tiebreaking RBI single to center.
"That's the best part about baseball, when you get a chance to face the other team's closer in a big situation," Hafner said. "It kind of gets to be a cat-and-mouse game. I got a changeup up and put a line drive swing on it."
Hafner went 3-for-3 with two walks. He has 11 hits in his last 15 at-bats, and has reached base in nine consecutive plate appearances.
"He's different," Tampa Bay manager Joe Maddon said. "He plays in that other league that's above this league when it's established, and quite frankly I wish he'd go there tomorrow. He's one of the better hitters in all of baseball. He always works a good at-bat. He's just very good."
The Indians were swept in a three-game series at the New York Yankees earlier this week. Borowski blew a 6-2 lead in the ninth and Cleveland lost 8-6 in the series finale Thursday.
"I'm proud of the way these guys came back after a tough loss," Indians manager Eric Wedge said. "It was good to get Joe back out there. He did a good job and finished it off tonight. It was good for our guys to get back out there and get a "W" under our belt here."
Tampa Bay got a home run from B.J. Upton.
C.C. Sabathia was bidding to become the first Cleveland pitcher to win his first four starts of a season since Chad Ogea in 1995. He gave up three runs and seven hits in seven innings. The left-hander struck out eight and walked one.
"I'm just glad we won," Sabathia said. "After coming from New York and getting swept, we needed a win. We needed this. It feels good to be on the winning end of a game."
Hafner put the Indians up 2-0 on a two-run homer in the third off Edwin Jackson. It was Hafner's eighth homer in 49th at-bats at Tropicana Field.
Jackson hadn't allowed a homer in his previous 36 1/3 innings dating back to last season. He allowed three runs, five hits, five walks and struck out five in six innings.
"You have to think that you're pitching against a team with good pitchers, they're not going to give up too many runs," Jackson said. "So, just go out there with the mindset of keeping your team close, keeping the game close and just have that chance that your team can come back."
Jackson's ERA dropped from 8.31 to 6.75.
"He walked five, that's a little high," Maddon said. "Other than that, he threw the ball really well. He had a nice calmness about himself. He definitely pitched well enough to win and he gave us a definite chance to win."
Upton got the Devil Rays within 2-1 on a third-inning solo homer. He was 0-for-7 in his previous three games.
Cleveland went up 3-1 in the fifth on Dellucci's RBI double. The Indians had a chance for a bigger inning, but Casey Blake flew out with two outs and the bases loaded.
Carl Crawford made it 3-2 with a run-scoring single in the sixth. The Devil Rays tied it at 3 one inning later when Delmon Young stole third and then scored on a throwing error by Indians catcher Victor Martinez.
- Cleveland has won seven straight against the Devil Rays.
- Tampa Bay 3B Akinori Iwamura and C Dioner Navarro, who both missed the game Wednesday with flulike symptoms, were back in the lineup.
- Indians LHP Cliff Lee (strained right abdominal muscle) is scheduled to throw around 70 pitches in a minor league rehab start Saturday with Triple-A Buffalo.