The win put the White Sox back to one game under .500, and with the Royals winning and Twins losing, are 4.5 out of first and 1.5 behind second.
The White Sox wasted little time in scoring off starter Jason Standridge with a run in the first, three more in the second and an additional four in the third.
The first-inning run came on a Frank Thomas sacrifice fly, scoring Roberto Alomar, who doubled and then reached third on a sacrifice bunt by Aaron Rowand.
A Joe Crede two-run homer and RBI-single by Rowand put the Sox up 4-0, while a solo home run by Magglio Ordonez and three-run shot by Jose Valentin put the Sox up 8-0.
The Sox added two more runs in the fifth and their final run in the sixth. The Devil Rays scored all three of their runs on singles by Carl Crawford.
Every starter, with the exception of Thomas and Paul Konerko, had a hit in the game. Sandy Alomar and Valentin both had three each.
Crede went 2-4 with three RBIs. Carl Everett, who hasn't played center field in two straight games, was in left field and went 2-5 with his first RBI in a Sox uniform. Everett, who has 18 homers and 52 RBIs, was selected as an AL all-star reserve, joining teammate Esteban Loaiza.
After starting with a 2-10 mark, Buehrle is now 7-10 as he threw seven innings, giving up three runs. Buehrle walked none and struck out one, throwing 109 pitches. Dave Sanders and Gary Glover finished off the game, throwing a scoreless inning each.
The White Sox will now have Monday off before starting a three-game set against the Tigers in Detroit starting Tuesday. Gametime will be 6:05 p.m. CT and it will be televised on Fox Sports Net Chicago. Jon Garland is scheduled to start against lefty Wil Ledezma.