Damaso Marte relieved Garland to start the eighth and gave up a leadoff walk before an Angel Berroa homer tied the game up at 3-3.
Those were the first two runs the Royals put up since the first inning, when they scored off one hit. Michael Tucker singled, stole second, reached third on a wild pitch and scored on a Mike Sweeney sacrifice fly.
Garland allowed just two more hits over the next six innings and finished the game with two walks, three hits and 94 pitches.
The Sox were slow to score off Royals' ACE Runelvys Hernandez, getting their first hit in the fourth. The Sox had a chance to get on the board in the second with walks to Magglio Ordonez and Brian Daubach to start the inning, but Carlos Lee struck out and Armando Rios grounded into a double play to end it.
The three-run fourth for the Sox came with the help of the Royals defense. Hernandez, for the second time, walked the first two batters (Valentin, Thomas). Jose Valentin reached third on a wild pitch and scored on a ground-rule double by Ordonez. Two batters laters, following a Daubach strikeout, Lee hit a grounder to shortstop Angel Berroa. Off balance, Berroa made a short throw to Sweeney at first, allowing Lee to reach safely and Thomas to score. Sweeney was charged with the error.
Rios then hit a sharp grounder up the middle. Berroa was unable to handle it cleanly and had to take the forceout at second. Up 2-1 with men on the corners, Joe Crede hit a hard grounder deep in the hole at short. Berroa made a diving stop, but threw the ball low and under the glove of Sweeney at first. Ordonez scored on the play. Olivo grounded out to end the inning.
Berroa made up for his rough fourth with a two-run homer of Marte in the eighth. Marte couldn't record an out in the inning, but Gordon did, throwing two scoreless innings to pick up the win.
The Sox' ninth inning started with a Joe Crede single just over the glove of third baseman Joe Randa. Tony Graffanino pinch-ran for Crede. Miguel Olivo laid down a bunt-single down the first base line and reached second on the throwing error by relief pitcher Jason Grimsley. Grimsley then intentionally walked D'Angelo Jimenez to load the bases for Valentin with no outs. After Valentin popped out, Frank Thomas hit a soft fly ball that carried far enough to right to put Michael Tucker in a bad throwing position. Tucker caught it off balance and Graffanino scored for the win.
Jimenez went 1-3 with a triple, stolen base and two walks, while Crede went 2-4 at third. Armando Rios started in center and went 0-3, and Miguel Olivo went 1-3 at catcher.
The series' finale will be Thursday afternoon at 1:05 CT, as righty Esteban Loaiza goes up against lefty Chris George. The game will be televised on Fox Sports Net Chicago.