Chicago moved within a game of Detroit for the lead in the American League Central with five to play. The White Sox had lost three in a row.
Tampa Bay's post-season hopes took a major hit while having an eight-game winning streak halted. The Rays began the night trailing Oakland by two games in the race for the AL's second wild card spot.
Rios gave the White Sox the lead with his homer and he scored Chicago's final run in the sixth on a single by Alexei Ramirez.
Gavin Floyd (11-11) allowed only two hits over five innings to get the win. Five relievers followed Floyd to the mound with Addison Reed recording the final two outs for his 29th save.
Jeremy Hellickson (9-11) absorbed the loss after surrendering three runs on nine hits in 5 2/3.