Peralta hit his first career grand slam during a five-run sixth and Hafner homered in his third straight game to help the Indians beat the Devil Rays 9-4 on Sunday.
"I imagined in my mind when I saw the bases loaded, I said, 'wow, grand slam, not too bad right here,"' Peralta said. "That's what happened."
Cleveland loaded the bases with no outs in the sixth when reliever Brian Meadows intentionally walked Hafner with runners on first and third. Ryan Garko had an RBI single before Peralta's grand slam made it 9-2.
"He threw me a fastball right there," Peralta said. "I wasn't waiting for a fastball. I was waiting for a curveball. I don't know how I hit the ball so far."
Hafner tied a major league record this season with six grand slams. The Indians have 11 overall.
"You don't want to face a guy like that in a close game with men on base," Meadows said of Hafner. "He's an unbelievable hitter. He's going to create problems. He's doing it to everybody."
Jake Westbrook (10-8) gave up three runs and eight hits in seven innings. He struck out four and walked two.
"I'm getting deep in games and giving us a chance," said Westbrook, who was coming off consecutive complete games. "I think that's all you can ask for as a starting pitcher is to be able to do that time in and time out."
Garko also homered for the Indians, who have scored nine or more runs in a game a major league-high 24 times this season. Hafner has 38 home runs this season and set a career-high with 110 RBI.
"One of my goals as a hitter is to always keeping improving," Hafner said. "I feel like I've done a good job of that. It's nice to get a career high, but it's not something that I'm really worried about right now."
Kelly Shoppach had a two-run double off Chad Orvella (1-5) to put Cleveland up 4-2 in the fifth.
The Indians took a 2-1 lead on consecutive homers by Hafner and Garko off Jae Seo in the third. Seo left the game in the third inning with a left groin strain. He allowed two runs and seven hits in 2 1/3 innings.
Seo also left his start on Aug. 3 against Detroit with tightness in the left groin. His status will be determined on Monday.
"I felt it yesterday and today, too," Seo said. "It's a little lower on the leg now."
Russell Branyan gave the Devil Rays a 1-0 lead with his homer in the second inning. He has hit more home runs (12) than singles (11) this season.
Tampa Bay pulled even at two when Carl Crawford had an RBI single in the third. He drove in another run on a ninth-inning single.
Meadows gave up five runs and six hits in one inning. He has given up 11 runs in 3 1/3 innings over his last three appearances.
"I'm not getting the job done," Meadows said. "It's not fun. All I can do is keep going out there."
Don Mattingly also hit six grand slams in one season for the New York Yankees in 1987. ... The Indians traded RHP Guillermo Mota and cash to the New York Mets for a player to be named or cash. ... Hafner extended his hitting streak to 11 games with a double in the first inning that struck an overhanging catwalk. ... Tampa Bay CF Rocco Baldelli was originally scheduled to have Sunday off to rest his hamstrings, but was inserted into the lineup because he had previously gone 9-for-13 against Westbrook. He went 2-for-4, including a double, against the right-hander on Sunday. ... Devil Rays 1B Travis Lee bruised his right knee after running into the low wall down the first-base line while catching a foul ball by Franklin Gutierrez in the eighth. Damon Hollins pinch hit for Lee in the bottom half of the inning. "Bumped the knee," Lee said. "I'll be ready for tomorrow."