He beat the Detroit Tigers, who are trying to win a division title.
The loss, coupled with Minnesota's 9-4 win over Kansas City, reduced first-place Detroit's lead over the Twins in the AL Central to two games.
"If somebody would have told me that Eddie Bonine would pitch that far into the game and give up two hits, I'd have said we would have won. But we didn't," Tigers manager Jim Leyland said.
"It's very simple. You've got to win enough games if you want to win the division. We just won four straight. We come in tonight and got shut out. You turn the page."
In his second start with Chicago since being acquired from San Diego on July 31, Peavy (2-0) allowed six hits in seven strong innings with two walks and eight strikeouts. The 2007 NL Cy Young winner spent three months on the disabled list with an ankle injury and his return was slowed when he was hit in the elbow by a line drive during a minor league rehab game.
"Their guy was awfully good, as well," Peavy said. "That's a good team, fighting for the playoffs. It was fun to pitch with something on the line."
Bonine (0-1), in his fourth stint with Detroit this season, didn't allow a hit until Beckham's two-run homer with two outs in the sixth followed a costly error on third baseman Brandon Inge.
"It's a tough loss for the ballclub. We needed a win. It was just one of those days," Bonine said.
And he was aware he hadn't given up a hit.
"Fourth, fifth inning, I'm like, 'Whatever, I don't think they have a hit.' I wasn't trying to pitch any different," he said. "I'd rather give up five and win 7-5."
But he threw what he described as a changeup to Beckham and quickly his no-hitter and the scoreless tie were over.
"I had conviction on the pitch. It got more of the plate than I wanted it to, but he could have rolled over on it. He put a good swing on it and hit the ball well," Bonine said.
With one out, Alex Rios reached when Inge bobbled his grounder and threw late to first -- only the second error by the Tigers in the last 22 games.
"I feel so bad. Beckham wouldn't even have come to the plate if I hadn't made that stupid error. I'll take responsibility for that one. I'll wear that one," Inge said. "Plain and simple, I just misplayed it."
One night earlier, Inge made a nice diving catch of a line drive to end the Tigers' victory over the Indians.
"That's the beautiful and the miserable thing about baseball, I guess," he added.
Matt Thornton worked the ninth for his second save.
The White Sox, the defending AL Central champions, were eliminated Thursday night when the Tigers beat Cleveland.
"I mean we're out, but we have to play important games against Detroit," White Sox manager Ozzie Guillen said. "As long as we play Detroit, we owe respect to Minnesota and baseball and we're going to put the best we can out there."
Bonine was making his third start of the season. He got a no-decision against the White Sox in July, pitching six innings and giving up seven hits and three runs.
- Guillen was ejected by home plate umpire Mark Carlson with one out in the bottom of the ninth after arguing a ball/strike call from the dugout.
- LHP Mark Buehrle received two rings from the White Sox -- one for him, one for his father -- to commemorate his perfect game. The presentation was made before Friday's game during a ceremony along the left field foul line. Since that July 23 gem, Buehrle has won only once. He may make one more start this season.