CHICAGO (AP) -- Jose Contreras won for the first time in six weeks, leading the White Sox over the Kansas City Royals 4-2 Wednesday and making a strong bid to save his job in Chicago's starting rotation.

Gordon Beckham, Carlos Quentin and Alex Rios hit solo homer off Zack Greinke (11-8), the first three-homer game off the Royals ace since he allowed four at U.S. Cellular Field on June 3 last year.

Contreras had gone 0-4 with a 7.62 ERA in six starts since beating Cleveland on July 8, and the White Sox brought in fellow 2005 World Series hero Freddy Garcia to compete for the No. 5 spot in the rotation.

One day after Garcia couldn't make it out of the fifth inning, Contreras (5-11) allowed one run and three hits in seven innings, struck out eight and walked one.

Pitching against the team with the AL's lowest batting average, the 37-year-old right-hander avoided the control problems that had driven up his pitch counts and limited his innings. He allowed David DeJesus' leadoff homer in the fourth and two singles. Both runners were erased on double-play grounders.

Contreras retired 12 of his last 13 batters. Matt Thornton got four outs, allowing Mark Teahen's eighth-inning homer, and Bobby Jenks got two outs for his 26th save in 30 chances.

Chicago, which began the day three games behind AL Central-leading Detroit, took two of three from the Royals and has won eight of its last nine home series.

Greinke (11-8) gave up six hits -- three doubles to go with the three homers -- in seven innings. He entered July at 10-3 with a 1.95 ERA but is 1-5 with a 3.41 ERA since.

Coming in, he had allowed only seven homers all season and had just one multiple-homer game against him, June 5 at Toronto.

Paul Konerko doubled in a first-inning run, joining Frank Thomas and Luke Appling as the only White Sox with 1,000 RBIs.

Beckham's third-inning homer made it 2-0, and Quentin's shot in the fourth answered DeJesus' homer in the top of that inning. In the seventh, Rios hit his first homer since the White Sox claimed him off waivers from Toronto on Aug. 10.

NOTES: Jake Peavy, out since June 9 with an ankle injury, needs at least two more rehab starts in the minors, White Sox pitching coach Don Cooper said. The original plan called for the 2007 NL Cy Young winner, acquired from San Diego at the trading deadline, to start Aug. 28 against the Yankees. But after Peavy allowed four runs in four innings during Tuesday's rehab start for Triple-A Charlotte, Cooper said a September comeback is more likely. ... Royals closer Joakim Soria, who twisted his ankle while following through on the second pitch of his successful one-inning appearance Tuesday, had very little swelling overnight and could have pitched Wednesday.

SI Apps
We've Got Apps Too
Get expert analysis, unrivaled access, and the award-winning storytelling only SI can provide - from Peter King, Tom Verducci, Lee Jenkins, Seth Davis, and more - delivered straight to you, along with up-to-the-minute news and live scores.