It was the second time Ordonez -- who hit a base-loaded-clearing triple in the seventh -- was hit in the series. Paul Konerko was also hit on Wednesday.
Colon gave up both of his runs in the second off a Larry Bigbie homer, scoring Jeff Conine. Colon went on to allow just three baserunners on two singles and a walk the rest of the way, inducing two double plays in the process. Colon struck out five in the game and threw 88 pitches.
The Sox cut the Orioles 2-0 lead in half with a bases-loaded double play by Joe Crede, scoring Ordonez, in the second inning. The double play came with no outs. Miguel Olivo walked to put runners on the corner, and Willie Harris grounded into a fielder's choice to end it.
Frank Thomas continued his hot hitting with a solo home run in the third. For Thomas it was his ninth homer of the season and second in the last two games. Thomas is 8-15 with three homers, two doubles, two walks and five RBIs in his last four games.
After scoreless fourth, fifth and sixth innings by Colon and opposing starter Sidney Ponson, the Sox put up six runs in the seventh. Harris started things off with a single, and after a 10-pitch at bat by D'Angelo Jimenez -- ending in a walk -- Ponson was replaced by B.J. Ryan to face Jose Valentin.
For the second night in a row, Valentin got the best of the matchup, loading the bases with a walk. Ryan was pulled for Willis Roberts who brought in the winning run with a walk to Thomas. After Ordonez tripled, clearing the bases and giving the Sox a 6-2 lead, Carlos Lee singled and Konerko doubled, putting the Sox up 8-2.
Kelly Wunsch pitched after Colon was ejected, recording the final three outs of the game, giving up no runs. The eight runs scored was only the fifth time the Sox scored more than eight runs in a game. The Sox are 5-0 in those games.
Along with Colon's outing and the offense, the Sox turned three double plays on defense and Olivo threw out his fourth attempted basestealer.
Ordonez went 2-4 with three RBIs and Lee went 2-4 with a RBI. Jimenez went 1-4 with a walk and a strikeout, while Joe Crede went 0-4.
The win puts the Sox record at 20-20 as they will now head to Minnesota to start a three-game series against the second place Twins on Friday. Mark Buehrle is scheduled to start in game one against righty Brade Radke. Gametime is at 7:05 p.m. CT and will be televised on Fox Sports Net Chicago.