Tim Anderson and Andrew Benintendi added one RBI apiece for Chicago (57-92), which snapped a four-game losing streak. Elvis Andrus went 2-for-3 and scored a run.
Royce Lewis went 3-for-4 with an RBI and a run to lead Minnesota (78-71). Kyle Farmer had two RBIs and Carlos Correa contributed one.
Twins right-hander Pablo Lopez (10-8) gave up five runs on eight hits in five innings. He walked none and struck out eight.
White Sox reliever Tanner Banks escaped the ninth to earn his first career save.
The Twins opened the scoring in the top of the first inning. Edouard Julien led off with a double, advanced to third on a deep fly ball by Jorge Polanco and scored on Lewis' single to left.
The White Sox stormed back with five runs in the bottom of the first.
Jimenez put Chicago on top with a two-run shot to left-center field, his 17th home run of the season. His blast also drove in Anderson, who reached on a leadoff single.
Yoan Moncada and Andrew Vaughn followed with back-to-back singles. Sheets brought them in with a three-run shot to right field for his 10th homer.
In the seventh, the White Sox scored two more runs to go ahead 7-1. Anderson hit an RBI double to drive in Andrus, and Benintendi singled to center to score Anderson.
The Twins pulled within 7-5 in the eighth. Polanco scored on a wild pitch, and Correa drove in Lewis during the next at-bat with an infield single.
Farmer followed with an RBI groundout to score Max Kepler. One batter later, Vaughn's fielding error allowed Correa to score from second base and cut the deficit to two runs.
Minnesota made it 7-6 when Farmer drew a bases-loaded walk in the ninth. Banks got Willi Castro to foul out on the next at-bat to end the game.
—Field Level Media