Halladay (5-2) pitched for the first time since May 10, when he gave up seven earned runs over five innings in an 8-0 loss to Boston. He underwent an appendectomy the following day and was placed on the 15-day DL.

Halladay was expected to miss four weeks but returned in less than three.

"It's absolutely amazing to me," Fasano said. "How do you do that in three weeks and make it look so easy? He's a special player."

Frank Thomas hit his 495th career homer, and 243rd as a designated hitter, tying him with Edgar Martinez for the most career home runs by a DH.

Buehrle (2-2) struck out six and walked none in his second complete game of the season.

"It's a shame," manager Ozzie Guillen said. "We had an opportunity early in the game and we didn't do the job."

Of greater concern to Guillen was an injury to Darin Erstad, who left in the seventh after swinging and missing on a 2-1 pitch from Halladay. Erstad's left ankle buckled under him and he fell to the ground in pain. X-rays were negative, but Guillen said Erstad may have suffered ligament damage and is likely headed to the disabled list.

"I believe it's going to be a couple of weeks," Guillen said. "That's what the doctor said."

Chicago already has two outfielders on the DL. Scott Podsednik has been out since April 16 with a strained right abductor and Pablo Ozuna suffered a fractured right fibula on Monday.

"We're already scuffling with injuries and the outfield is getting kind of thin," Buehrle said. "It's not good."

Erstad is batting .264 with two home runs and 21 RBI in 46 games and has been batting in the leadoff spot since Podsednik went down.

Guillen spoke to general manager Kenny Williams by telephone after the game and said the White Sox would likely promote Jerry Owens or Ryan Sweeney from Triple-A Charlotte if Erstad lands on the DL.

The game lasted just 1 hour, 50 minutes and was the second quickest in the majors this season, according to the Elias Sports Bureau. Seattle beat the Athletics 2-0 on April 25 in Oakland in 1 hour, 47 minutes.

Halladay got some help from his defense in keeping the White Sox off the board in the third. Rob Mackowiak led off with a single and went to third on Juan Uribe's double but was thrown out at the plate when Erstad grounded to Lyle Overbay. Erstad was caught stealing before Tadahito Iguchi ended the inning with a grounder to shortstop.

"That was the only inning we really got something going," Guillen said. "After that we didn't do anything."

Even with the layoff, Pierzynski wasn't surprised to see Halladay on top of his game.

"Let's be honest, he's as good as it gets," Pierzynski said. "It doesn't matter, DL or no DL, the stuff he was firing up there tonight, the way his ball moves. He just didn't make any mistakes.

"He's kind of found a new weapon," Pierzynski added. "He used to throw a cutter but it used to not be as hard. Now he's throwing it 92. That's tough. He didn't throw anything straight and it's hard to square him up."

Game notes
Erstad was replaced by Luis Terrero. ... Erstad signed with the White Sox as a free agent in the offseason after 12 seasons in the Los Angeles Angels organization. ... It was Toronto's quickest game since May 10, 2005, against Kansas City. That one finished in 1:44.