Lee's home run came in the second to give the Sox a 1-0 lead, while Thomas and Ordonez broke a 1-1 tie with back-to-back homers in the fourth. AJ Pierzynski tied the game at 1-1 earlier with a homer in the third.
Two batters later in the inning, Lee doubled and later scored off a Joe Crede single, putting the Sox on top 4-1. Lee went 3-4 with a homer and two doubles.
Brian Daubach put the Sox up 5-1 in the fifth with an RBI-single, scoring Jose Valentin. With the bases loaded and one out, Lee and Rios struck out and grounded out to end the inning.
Garland was effective in one of his biggest starts. Coming off a poor April 21 outing where he gave up five runs in 2 2/3 innings of work against the Indians, Garland allowed four hits and two runs (both off homers), while striking out five and walking two in 5 2/3 innings.
Tom Gordon relieved Garland following the ejection and recorded the final out. Gordon went on to throw a scoreless seventh and eighth as well. Corey Koskie hit a home run earlier in the inning of Garland to cut the lead to 5-2.
Ordonez came through with a key two-run homer in the eighth, scoring Thomas (walk) and putting the Sox ahead 7-2. For Ordonez it was his second homer in the game and fifth of the season.
Billy Koch came in to finish the game, but not before giving up a two-run homer to Michael Cuddyer.
Second baseman D'Angelo Jimenez went 0-4 in the game and is now 2-21 in his last six games. Jose Valentin went 0-4 and Thomas went 2-3 with two walks and a homer, his fifth of the season. Brian Daubach went 1-5 in place of Paul Konerko at first and catcher Miguel Olivo went 1-4.
Despite the seven runs, the White Sox struck out 14 times and left a total of 10 men on base.
The rubber match of the three-game set will be played on Sunday afternoon at 1:05 CT on Fox Sports Net Chicago, as Esteban Loaiza goes for win number five against Rick Reed.