Carlos Delfino converted a four-point play and hit a long 3-pointer in the third quarter to help the Bucks build a 75-59 lead.
Chicago went on an 11-0 run spanning the third and fourth quarters to pull within 75-70, but Ersan Ilyasova hit a 3-pointer from the left wing and set up Luc Mbah a Moute's three-point play with about 9 minutes to go in the fourth quarter to make it 81-70.
It was the first win for the Bucks (1-2) and first loss for the Bulls (2-1).
Delfino and Andrew Bogut each added 12 points for the Bucks.
Kirk Hinrich and Jannero Pargo scored 13 each for Chicago. First-round picks James Johnson (14 points) and Taj Gibson (12) added to the balanced scoring. The Bulls hit 31 of 37 free throws.
Milwaukee entered the game having allowed an average of 115 points in the first two games, but held Chicago to 40 percent shooting and forced 25 turnovers.
It took the Bulls more than half of the first quarter to make a basket, allowing Milwaukee to jump out to a 14-4 lead.
Chicago's Derrick Rose sat out a second consecutive game with a sprained ankle. Milwaukee's Michael Redd played all 12 minutes in the first quarter and scored five points before getting the rest of the night off. He missed the final 35 games last season with torn knee ligaments.