Cleveland improved baseball's best home mark to 18-4 despite a rough outing by ace C.C. Sabathia (8-1), who allowed five runs and 10 hits in 7 1/3 innings. Sabathia, 5-0 at Jacobs Field, moved into a tie for the major league lead in wins.
Hafner hit a two-run drive in the first inning and Martinez's two-run homer capped a four-run fifth off Justin Verlander (5-2) as Cleveland improved to 4-0 against the defending AL champion Tigers.
Verlander gave up seven runs and eight hits over five-plus innings for Detroit, which lost for the sixth time in seven games and dropped 3½ games behind Cleveland in the AL Central. The right-hander hit three batters with pitches, walked three, uncorked two wild pitches and struck out six.
Tigers designated hitter Gary Sheffield was ejected in the top of the fifth by plate umpire Greg Gibson after arguing a called strike, then breaking his bat on a groundout and angrily throwing the piece of wood still in his hands.
After running halfway to first, Sheffield whirled and came back at Gibson. Tigers manager Jim Leyland and catcher Ivan Rodriguez ran out of the dugout to restrain Sheffield, who repeatedly poked his finger toward Gibson's face.
Casey Blake singled with one out in the first inning and Hafner followed with a 430-foot drive into the trees beyond the center-field wall for his 10th homer and 2-0 lead. Hafner came in with only 17 hits in his last 74 at-bats (.230) but went 2-for-3 with two walks against the Tigers.
Craig Monroe's 100th career homer and eighth of the season got Detroit within 2-1 in the second.
The Tigers went ahead with a three-run third. Sheffield had an RBI double, Magglio Ordonez a run-scoring groundout and Marcus Thames an RBI single.
Grady Sizemore and Blake singled to start the Indians' fifth. Hafner tied it with a two-run single to center and Martinez hit a 2-1 pitch over the wall in right-center for his ninth homer to make it 6-4.
Martinez added a sacrifice fly in the sixth, giving him 10 RBI in his last seven games, and Sizemore's two-run triple capped Cleveland's four-run eighth off Jose Mesa.
The Tigers, with seven players on the disabled list, also were without starting infielders Brandon Inge (chip fracture in toe) and Carlos Guillen (strained left groin). ... Ordonez has 43 RBI in his last 39 games and an AL-leading 49 overall. ... Hafner lead the AL with 47 walks. ... Sizemore got a standing ovation after making a leaping catch near the warning track of a drive hit by Neifi Perez in the second.