ST. LOUIS -- Jake Peavy could not have pitched much better. Especially considering the way he felt.
Fighting an illness that has sapped him the last few days, the Chicago White Sox pitcher allowed one run on four hits in seven innings in a tough-luck 1-0 loss to the St. Louis Cardinals and Lance Lynn on Wednesday night.
"I had to throttle back and maybe that helped me a little bit mechanically," Peavy said. "I'll tell you what, I pitched better tonight than I did feeling good the last few."
The game came down to one pitch, Carlos Beltran's National League-leading 19th homer with one out in the third.
"Fastball down the middle. It was supposed to be in," Peavy said. "You can't throw balls that catch that much plate to a hitter who is going as well as he's going."
Lynn (10-2) struck out a career-high 12 to stay tied for the major league lead in wins as the Cardinals ended Chicago's eight-game road winning streak.
Peavy has been a pretty good hitter throughout his career, and entered 6 for 17 against St. Louis, but struck out in both at-bats against Lynn.
"That kid's impressive," Peavy said. "That ball had a lot of life out of his hand.
"You don't go 10-2 with those numbers by accident."
Paul Konerko grounded into a game-ending double play with runners on first and third against Jason Motte.
"More than anything, it was location," Konerko said. "If he's hitting his spots it's tough to put a good swing on it."
The game was played in a snappy 2 hours, 24 minutes.
"It's probably a good game to watch, I suppose," Konerko said. "For me, a lot of runs is fun because that's like what I do."
Beltran homered in the third inning off Peavy (6-2) and had three of the four hits for the Cardinals, who have scored only seven runs in the last five games and totaled a single run for the third straight game. They've won just five of 14.
Lynn allowed three hits in 7 1-3 innings and joined Mets knuckleballer R.A. Dickey as the only 10-game winners in the majors. Dickey threw a one-hitter at Tampa Bay earlier in the night.
The 25-year-old Cardinals right-hander, who replaced injured Chris Carpenter in the rotation and is in his first full big league season, topped his previous career best of 11 strikeouts while going six innings during his last start at Houston.
Beltran has been a force batting second, hitting 11 homers from that spot in 20 starts compared with seven long balls at cleanup in 32 games. All but five of his homers have come batting left-handed.
Peavy worked seven innings and gave up four hits with six strikeouts and two walks. He had entered an American League-best 3-0 with a 1.75 ERA on the road and had won six in a row away from home with a 1.44 ERA overall dating to Aug. 7, 2011.
Marc Rzepczynski got pinch-hitter Adam Dunn to ground sharply into a double play to end the eighth and Motte finished for his 12th save in 15 chances. Cardinals manager Mike Matheny went right back to Rzepczynski, a night after Dunn homered in the eighth inning to help the White Sox pull away for a 6-1 victory.
Dunn, a pregame lineup scratch due to a slightly sprained ankle, has grounded into just two double plays.
Matheny gave Lynn a vote of confidence when he let him bat with two outs and none on in the seventh. Lynn struck out Alexei Ramirez for the third time to open the eighth, then was lifted after Orlando Hudson singled up the middle.
Lynn's strongest save came in the fifth when Alex Rios was stranded at third after a leadoff triple. Lynn struck out three of the next four, fanning Peavy after a two-out intentional walk to Hudson.
The Cardinals had just three at-bats with runners in scoring position against Peavy, whose biggest out was striking out David Freese after consecutive two-out walks to Matt Holliday and Allen Craig in the third.
NOTES: Peavy has allowed seven homers in his last eight starts after giving up just one in his first five outings. ... Peavy has been getting an average of 6.1 runs of support per nine innings. ... Alejandro De Aza had two hits and is 11 for 27 (.407) during a six-game hitting streak. ... Peavy is 14-9 in 29 interleague games, all but one of them starts.