The Brewers finally pulled out a close win after dropping five of the previous nine by one run, thanks to one dominant pitching performance and one clutch hit.
Aramis Ramirez led off the 10th by lining his second double of the game down the left-field line against Jesse Crain (1-1). Nyjer Morgan ran for him and advanced on a wild pitch before Weeks drove a single past a diving third baseman Orlando Hudson to make it 1-0.
John Axford came on in the 10th and got his 13th save in 17 chances after blowing three of his previous five opportunities. He walked Gordon Beckham leading off, but struck out Adam Dunn before Paul Konerko grounded into a double play to end the game.
That gave Greinke (8-2) the win on a night when Chicago's Chris Sale pitched eight scoreless innings for the second time in three starts.
Greinke struck out four and walked one. The only hits he allowed were singles by Alex Rios in the fifth, Beckham in the seventh and A.J. Pierzynski in the eighth, and the White Sox hit into double plays in each of those innings.
Sale was about as dominant, striking out seven and walking one.
The only serious threat against him was when Weeks doubled with one out in the fifth and advanced on a wild pitch. He got out of it by striking out Cody Ransom and Martin Maldonado.