CHICAGO -- Mark Buehrle was perfect. And then, for six weeks, he was winless.
As if he needed a reminder, his teammates let Buehrle know how long it had been.
"A couple of guys joked around and said I got to buy them something like I did on the perfect game and the no-hitter," Buehrle said. "It's obviously nice to go out there and score some runs."
Buehrle (12-7) outpitched Josh Beckett (14-6), scattering eight hits over seven-plus innings. The White Sox lefty had been 0-4 with a 5.44 ERA since his perfect game against Tampa Bay.
During that long span between wins, Buehrle pitched well at times. He left two games in which the White Sox hadn't scored, another when they had just one run and two others in which they had managed only two. But in three of the outings, he gave up double-digit hits.
"I had a couple of bad games in there and I had some good games," Buehrle said. "Seems lately I've been going up against some guys, opposing pitchers doing what they're supposed to do -- hold us to no runs. Anytime you go up against a [CC] Sabathia or a Beckett you got to be on your good game to hold them and give your team a chance."
Buehrle gave up a first-inning run and then pitched his way out of several jams. Leading 3-1, he gave up a leadoff single to Victor Martinez in the eighth and was replaced by Tony Pena, who struck out Jason Bay and Mike Lowell.
Carlos Quentin hit a two-run homer in the eighth as Chicago took three of four from the AL wild-card leaders.
Beckett, who hasn't won since Aug. 12, gave up three runs and six hits over seven innings. He retired his final 10 batters and was able to keep the ball in the park, something he'd failed to do in his five previous outings when he surrendered 14 homers.
"I got outpitched. Buehrle did a good job keeping the ball down," Beckett said. "And the one big inning. That killed me. Whenever you're going against a guy like him, you can't have a big inning."
Mark Kotsay continued to hurt his former team, hitting a two-run single in the third for a 3-1 lead.
Kotsay, designated for assignment by the Red Sox on July 24 and traded to Chicago for Brian Anderson four days later, had homered in the first two games of the series and finished with six RBIs in the four-game set.
Beckett hit Jayson Nix with a pitch to start the third and Scott Podsednik followed with his second single of the game. A sacrifice moved the runners up and A.J. Pierzynski hit an RBI grounder that tied it at 1.
Jermaine Dye walked and moved up on a wild pitch, putting runners at second and third before Kotsay dropped a soft single into center.
Kotsay tried to score from first on Quentin's double into the left-field corner but was thrown out at the plate on a relay from shortstop Alex Gonzalez.
The Red Sox loaded the bases with two outs in the fifth on two singles and a walk, but Buehrle got Martinez on a flyout. Boston had first and second with one out in the sixth before Buehrle struck out Rocco Baldelli and Jason Varitek.
"He did a good job. He had different people off balance and we were just one hit away from opening up and getting to him," Varitek said.
"We just couldn't square anything up and a lot of that is due to the way he pitches," Red Sox manager Terry Francona added.
Since he's not overpowering, Buehrle's forte is to work quickly and use the edges of the plate. That's how he was able to escape some of the predicaments Monday. Boston finished with eight runners left on.
"Getting lucky and making pitches," Buehrle said. "Getting guys to either strike out on high strikes or putting the ball in play and getting a double play or whatever."
With his 28th start, Beckett's $12.1 million option for 2010 became guaranteed as long as he isn't injured at the end of the year. ... White Sox rookie third baseman Gordon Beckham missed his second straight game with a sore side. He could return for Tuesday night's game against Oakland. ... Boston's Dustin Pedroia was in a 2-for-24 slump when he doubled with two outs in the third. ... Beckett's loss was his first ever to the White Sox. He is now 4-1 against them in six career starts.