"I never look at the bullpen anymore," Sabathia said. "Not since I did early in the season and then gave up a bunch of runs. I don't look at (Eric) Wedge, either.
"He walked up to me in the eighth and before he said anything, I said, 'I'm going back out.' Then he went and sat down."
Sabathia allowed two runs and four hits as he worked at least seven innings for the 10th time in his last 11 starts since July 7. The left-hander struck out six without a walk to earn consecutive victories for the first time since winning three in a row May 19-30.
"He's always had great stuff, but now he's pitching with it," Wedge said. "We're seeing a guy with so much ability who continues to evolve into a great pitcher."
The transformation began in the second half of last season. Since Aug. 1, 2005, Sabathia is 19-9 with a 2.91 ERA.
Cleveland scored three times in the seventh off Brandon League (0-2) to go ahead 4-2 and went on to its 15th win in 20 games since Aug. 9.
Blue Jays starter Gustavo Chacin gave up one run and two hits over 5 1/3 innings before leaving with a cramp in his left index finger.
"I couldn't open my hand, but now it feels good," Chacin said, adding that he will not miss his next start.
The left-hander was making his second start since coming off the disabled list Aug. 23. He had been sidelined since June 10 with a strained left elbow and lasted only 1 1-3 innings last Wednesday in a 6-0 loss to Oakland.
"Chacin pitched his butt off, but he almost had to be perfect because Sabathia was rolling," Toronto manager John Gibbons said.
Hafner hit his 40th homer with two outs in the first to put Cleveland ahead. The 423-foot shot to left-center made him the seventh player in Indians history to reach the milestone and first since Jim Thome hit a team-record 52 homers in 2002.
"It's kind of cool, a nice number and proud accomplishment," Hafner said.
The Indians' DH was happier that it was his 16th homer this year off a lefty, which leads the majors.
"With the AL Central like it is now, loaded with lefties, if you can't hit those guys you hurt your team," he said.
League hit Ryan Garko with a pitch to open the decisive seventh. Jhonny Peralta then grounded a single to right and pinch-hitter Joe Inglett was safe when first baseman Lyle Overbay misplayed his sacrifice bunt for an error, loading the bases.
Andy Marte then hit an RBI single. Shortstop John McDonald stopped it with a dive, but his throw to second was too late to get the speedy Inglett as Garko scored to tie it at two.
Grady Sizemore followed with a sacrifice fly to put Cleveland ahead and Jason Michaels added an RBI double for a 4-2 lead.
Inglett drove in a run with a grounder in the eighth to make it 5-2.
Sabathia yielded a bloop single to Reed Johnson to open the game, then was perfect until Overbay singled to start the sixth. Jason Phillips followed with a double, sending Overbay to third.
After McDonald grounded out, Johnson got an RBI single on a slow roller to third baseman Marte, whose throw home was too late to keep Overbay from scoring.
Johnson then grounded into a fielder's choice, scoring Phillips for a 2-1 lead.
"I got a little out of whack there," Sabathia said. "It's all about being able to stay in my delivery. I made an adjustment and I could feel the difference. Then I felt fine again."
- The Indians have won 11 of the last 13 meetings with Toronto, including an 8-1 record at Jacobs Field.
- Sabathia's 79th career win moved him past Joe Shaute for second place among all lefties in Cleveland history, behind only Sam McDowell, who won 122 games from 1961-71.
- His six complete games are the most by a Cleveland lefty since Greg Swindell had nine in 1991.
- Johnson went 2-for-4 and is hitting .406 (13-for-32) during an eight-game hitting streak.