Dayan Vicideo's second homer of the game helped the White Sox score seven runs in the eighth inning, and they scored three more runs in the ninth to surpass a season high for scoring.
Miguel Cabrera hit his 29th homer, an impressive blast to left-center, to give him a major league high 92 RBIs and .363 batting average.
He broke the franchise record for homers before the All-Star game, surpassing the total Cecil Fielder had at the break in 1990 during his 51-homer season
Verlander (9-6) gave up a season-high 12 hits, five runs and struck out three to match a season low in seven-plus innings.
Rios singled in the first, tripled in the third and also singled twice in the eighth inning. He also singled in the fifth and ninth innings.
Rios hit his first single in the eighth inning and stole second and scored on Dunn's 24th homer that put the White Sox ahead 3-1. He added an RBI single later in the eighth.
The White Sox followed with two straight singles to end Verlander's night after 112 pitches. The All-Star won his previous start, pitching seven scoreless innings in a win over Toronto, after giving up 12 runs in his previous three outings.
Jose Quintana (4-2) gave up three runs and six hits over eight innings, winning for the first time since May 21.
Viciedo had the first multihomer game of his four-year career.
Phil Coke replaced Alburquerque with two outs, and Dunn hit an RBI single in his second at-bat of the inning in which the White Sox broke open a 1-1 game.
The last-place White Sox, who had lost four straight, finished with a season-high 23 hits and a season high in runs.
Quintana didn't have much trouble keeping the AL Central-leading Tigers quiet at the plate.
Detroit didn't make the most out of an opportunity with two runners in scoring position and one out in the second. Quintana got out of the jam by striking out Matt Tuiasosopo and Hernan Perez.
Verlander stranded runners at second and third by striking out Dunn in the fifth. In the home half, Tuiasosopo sent a 1-2 pitch over the left-field wall to give Detroit a 1-0 lead.
Viciedo hit a two-out, game-tying homer in the sixth.
The White Sox had a runner on in the seventh, and wasted a chance to score a go-ahead run because Alejando De Aza ran toward second when Alexei Ramirez popped up in foul territory to Prince Fielder, who threw the ball to Verlander at first base for a double play.
Detroit's Don Kelly hit a solo homer in the ninth.
NOTES: Detroit put 2B Omar Infante on the 15-day disabled list and Perez, recalled from Double-A Erie, started in his place. Infante hasn't played since last Wednesday, when he was hit hard by Toronto's Colby Rasmus, who was sliding into second base. He is expected to be OK after the All-Star break. ... White Sox RHP Jake Peavy, on the DL since June 6 with a broken left rib, pitched in a simulated game on Tuesday. ... Detroit DH Victor Martinez extended his hitting streak to 11 games. ... The game started after a 38-minute rain delay.