Hafner, playing for the first time in nearly three months, doubled to lead off the second inning and singled with one out in the fifth. He also lined out to second base in the fourth. The Bisons beat the Lehigh Valley IronPigs 5-1.
"After a while, you start to feel not like a baseball player," said Hafner, who batted .217 with four homers in 46 games for Cleveland before going on the disabled list on May 26. "It was a lot of fun and great to get back out there again.
"My only expectation was to put the ball in play and not embarrass myself. It was great to hit a couple of balls hard and hopefully build from there."
The 31-year old slugger has endured a tough season. In addition to the injury, which will end his streak of four straight 100-RBI seasons, he also mourned the death of his father in July.
"You want to build some momentum for next season," Hafner said. "I want to come out and make sure the shoulder is healthy. I also want to swing the bat well and have a good September."
Josh Barfield also joined Buffalo to continue his rehab assignment, which started with two games at Double-A Akron. He went 0-for-2 with a sacrifice fly. He started the season with the Bisons and was called up on June 9, but played only three games with Cleveland before spraining his left middle finger.
Tuesday, catcher Victor Martinez is scheduled to be in Buffalo's lineup. He has been out with right elbow inflammation since June 12 and started his rehab assignment this past weekend with Akron.