Adam Dunn delivered an RBI single in the fourth to start Chicago's comeback from a 3-0 deficit. Hector Gimenez hit a solo homer in the fifth to bring the White Sox within one and Greene produced his two-run blow later in the inning to give Chicago a 4-3 lead.
Conor Gillaspie added a solo shot in the sixth, giving the White Sox enough cushion to survive a shaky ninth.
Addison Reed gave up a run-scoring single to Matt Joyce in the ninth and the Rays had runners on first and second with two away. Reed then struck out Ben Zobrist to end the game and pick up his eighth save.
That preserved the win for starter Jake Peavy (3-1), who gave up three runs on six hits in 6 2/3 innings. The loss went to Roberto Hernandez (1-4), who surrendered all five Chicago runs on eight hits over six frames.
Joyce and Evan Longoria hit home runs for the Rays, who have dropped three out of four.
'Happy' fan videos make Pharrell cry [VIDEO]
Pistorius testifies he didn't consciously pull trigger when he shot girlfriend