Milwaukee's Zack Greinke (8-2) gave up three hits over nine innings and claimed the victory when the Brewers scratched out a run in the 10th.
Weeks delivered his base hit on a 1-2 pitch and John Axford relieved Greinke in the bottom of the 10th to grab his 13th save.
Chicago's Chris Sale did not figure in the decision after giving up four hits and striking out seven in eight innings.
The White Sox lost for the seventh time in nine games.
Video of Victoria’s Secret models trying to 'twerk' hits Instagram
Couple calls 9-1-1 over missing hash browns; assault McDonanld's employees