Updated

That big lead the Chicago White Sox held sure disappeared in a hurry.

Paul Konerko's towering three-run homer put the White Sox ahead 4-0 in the first inning. But Gavin Floyd gave up two runs in the bottom half and two more in the second, and the Kansas City Royals eventually pushed across the winning run in the 12th Tuesday night to win 7-6.

For the up-and-coming Royals, it was their fourth straight win in their final at-bat.

"They keep battling, they come from behind," Chicago manager Ozzie Guillen said. "Four wins in their last at-bat. They aren't going to give up."

Melky Cabrera's RBI single off Tony Pena (0-1) scored Chris Getz from second in the 12th inning, the fourth straight extra-inning game these AL Central rivals have played.

Getz singled leading off and was sacrificed to second before Cabrera connected for his third hit and third RBI of the game.

Chris Sale relieved starter Gavin Floyd to begin the eighth and gave up a two-run home run to Billy Butler, which tied it 6-all.

"I made one pitch at a bad time," said Sale. "One mistake really hurt us."

The White Sox took their early cushion after starter Luke Hochevar's 13th pitch. Juan Pierre got the game started with a triple into right-center and Gordon Beckham followed with an RBI single.

Adam Dunn walked and Paul Konerko, who has at least one RBI in all four games the White Sox have played, hit an 0-1 pitch 437 feet over the fence in left.

Hochevar, who took the loss on opening day to the Los Angeles Angels, did not allow another run until Alexei Ramirez hit an RBI triple with one out in the sixth. With two out, Ramirez scored when third baseman Brent Morel failed to handle Pierre's infield grounder and was charged with an error.

Alex Gordon's two-run homer in the bottom of the first cut the lead in half.

Floyd gave up a single to Alcides Escobar and walked Matt Treanor to start the second inning. Both moved up on a double steal and scored on Cabrera's two-out single, knotting it at 4.

"I felt like I was pitching in someone else's body," said Floyd. "I wasn't completely there, I kept fighting and trying to figure it out. I felt like I was able to figure it out a little bit. One pitch led to another. I started making pitches."

Gordon, who had four hits and scored four runs in Sunday's 13-inning victory over the Angels, was 3 for 5 with two doubles and two RBIs.

Floyd gave up two runs in each of the first two innings but went seven innings and allowed four runs on seven hits, walking two and striking out five.

Hochevar went six innings and gave up six runs and seven hits, with two walks and one strikeout. One run was unearned.

Jeremy Jeffress (1-0) got two outs for the win in Kansas City's first four-game winning streak since September 2009.

NOTES: Mike Aviles lined into a 6-3 double play ending the seventh, with Ramirez' throw cutting down Getz at first. ... The Royals' longest winning streak last year was three games, on six occasions. ... The White Sox have won the season series against the Royals nine of the last 10 years.