The White Sox had trailed 4-3 since the third inning before staging a comeback in the sixth.
Avisail Garcia, obtained by Chicago in a trade-deadline deal for pitcher Jake Peavy, began the uprising with a leadoff single -- his first hit for Chicago -- and Jordan Danks drew a walk, chasing Twins starter Mike Pelfrey.
Anthony Swarzak took the mound, and after Josh Phegley moved the runners up with a sacrifice bunt, Blake Tekotte followed with a score-tying sacrifice fly.
Gordon Beckham kept the inning alive by coaxing a walk and Gillaspie then sent a liner to left that Twins outfielder Oswaldo Arcia appeared to lose in the sun. He managed to get a glove on it but couldn't hang on, allowing Danks to score the decisive run.
David Purcey (1-1) notched the win with an inning of scoreless relief. Addison Reed picked up his 28th save, with the final out coming when left fielder Alejandro De Aza snagging Arcia's fly ball at the wall as the Sox rebounded from Friday's doubleheader sweep at the hands of the Twins.
Pelfrey (4-10) yielded five runs (four earned) on four hits over five full innings.
Justin Morneau slammed a three-run homer and Arcia added a solo shot for Minnesota.