Hafner was hit by a pitch on his right elbow with the bases loaded to force in the go-ahead run in the eighth inning as Cleveland rallied past Minnesota 2-1 on Sunday, snapping the Twins' six-game winning streak.
"It definitely hurt," said Hafner, who had surgery to remove bone spurs from the elbow Oct. 6. "I think I was in La-La Land for a while -- more than I usually am."
The Indians' second win in six games kept the Twins from getting their first three-game sweep in Cleveland since June 14-16, 1991.
Ronnie Belliard hit a one-out single off J.C. Romero (0-1). One out later, pinch-hitter Jose Hernandez got credit for an infield single and Belliard advanced to third when Twins third baseman Michael Cuddyer threw wildly trying for a force play at second.
"Every time you miss a play late in the game it always seems to cost you," Twins manager Ron Gardenhire said.
Victor Martinez walked to load the bases and Romero then hit Hafner with a 1-1 pitch to send Belliard home with the tiebreaking run.
"It's a little swollen, but I'll ice it tonight and see how I feel tomorrow," said Hafner, who blamed himself for the extent of his pain.
"I usually wear my elbow pad against lefties, but for whatever reason I forgot to put it on. The first pitch almost hit me and I was thinking it probably would be a good idea to go back and get it. I just didn't," he said.
Cleveland's C.C. Sabathia was sharp in his first start. The left-hander, activated from the disabled list Saturday after straining an abdominal muscle before a spring start March 6, worked 5 2/3 strong innings and left with the score tied 1-1.
"It felt great to go out and earn my paycheck," Sabathia said. "I was excited warming up and it carried into the game. This was my Opening Day."
Twins starter Joe Mays, who missed all of 2004 after having elbow surgery, was even better. The right-hander allowed one run and five hits over seven innings. He struck out two without a walk in his longest outing since going eight innings in his last win at Kansas City on June 19, 2003.
"I threw 72 pitches and 62 were fastballs," Mays said. "We didn't try to trick anybody. Their hitters didn't make adjustments, so we didn't change a thing."
Belliard tied it by leading off the bottom half with his second homer, snapping an 0-for-16 streak.
Sabathia gave up one run on five hits, walked one and struck out seven. He threw 94 pitches, 60 for strikes.
"I knew that was my limit because I was on a pitch count," said Sabathia. "I was surprised they let me go past 90, but it was OK because I felt just fine."
Sabathia caused a stir earlier in the week by stating that he was eager to open his season against Minnesota because "I hate the Twins. They know it."
Gardenhire, who has guided Minnesota to three straight AL Central titles, took it as a compliment and said division rivals should feel that way.
However, Sabathia had second thoughts about his comment.
"I've re-thought what I said and maybe it was jealousy on my part," he said. "When I see those guys playing in October, I think that should be us out there."
Mays lowered his career ERA against the Indians to 5.59 but was upset that he didn't get a chance to improve his 0-6 record in 17 career appearances against them.
"I had a hard time," Mays said of being taken out. "There was no discussion, I was just told. You always want a chance to win the game."
Gardenhire said he would prefer that Mays have a chance to win several.
"He wanted to stay, we want him to finish the season," he said. "My job his to protect him so he can stay a whole year."
Indians third baseman Aaron Boone broke an 0-for-11 streak with a second-inning single. ... Mays is 0-5 with a 5.77 ERA in 10 appearances at Jacobs Field. ... Sabathia is 1-0 with a 2.13 ERA in four home outings against Minnesota.