MILWAUKEE -- With a chance to put his Bulls ahead and facing 6-foot-10 Milwaukee Bucks forward John Henson, Chicago forward Mike Dunleavy knew he needed to make an adjustment ... and quick.
"He's so long so if I would have shot my normal shot, he might have got a piece of it," said Dunleavy, who banked a 3-pointer with 5.8 seconds left to give Bulls a 91-90 victory.
"Henson was switching off, so I knew I had to get a lot of arc and get it over him," Dunleavy said. "But just straight as an arrow, it just banked in. When it left my hand, I thought it was going in. I wasn't surprised when it happened. Just tried to get it up over Henson and it did.
"So basically what I'm saying is, I took a bad shot and it went in."
Bad or not, Dunleavy's shot brought the Bulls' three-game losing streak to an end and prevented Chicago from falling twice in a week to the Bucks, who own the Eastern Conference's worst record (5-18).
The Bulls were in danger of becoming only the second team to lose twice to Milwaukee this season, but were bailed out late by Dunleavy's clutch shooting and some key defensive moves by center Joakim Noah.
It was Noah who forced a jump ball with 16.2 second left and the Bulls down by two and then won the jump by tipping it to forward Carlos Boozer and it was Noah who thwarted the Bucks last chance to tie by swatting away guard O.J. Mayo's chance at a buzzer-beater with 0.9 seconds left.
He scored 10 of his game-high 21 points and grabbed seven of his 18 rebounds -- three offensive -- while blocking three shots in the final quarter.
"Joakim was a monster throughout the game," Bulls coach Tom Thibodeau said. "Defensively, he's been terrific from the start of the season but offensively, you can see his timing is back. His playmaking ... he's really getting comfortable out there."
All five Bulls starters scored in double digits.
Along with Noah, guard Jimmy Butler had 16 points in his first game back from a toe injury that held him out of seven games. Butler played 36 minutes and went 4 of 12 from the field.
"I felt alright," said Butler, who played college ball in Milwaukee for Marquette University. "Rusty. Out of shape. Terrible. But I'm glad my guys pulled this win out. We definitely needed one and we stuck it out until the end."
Boozer added 14 points and guard Kirk Hinrich, who entered the game 4 for his last 31, went 5 of 12 from the field and finished with 13 points.
Milwaukee fell behind by 10 late in the first quarter but used a 12-2 run to take a 32-31 lead midway through the second and led 51-47 at halftime. But after shooting 50 percent in the first half, the Bucks cooled off in the second, going 14 of 36 from the field and committing seven turnovers.
"We had opportunities to put away down the stretch," Bucks coach Larry Drew said. "It never should have come down to the final play. We just didn't make plays going down the stretch and had too many bad possessions. You can't have that going down the stretch of a close game."
Guard Gary Neal led the Bucks with 17 points off the bench while Henson had 15 with eight rebounds and four blocks. Mayo scored 14 points while forward Khris Middleton finished with 10 for Milwaukee, which lost for the fifth time in seven games.
Rookie forward Giannis Antetokounmpo pulled down a career-high nine rebounds for the Bucks.
NOTES: Chicago has won seven straight in Milwaukee, matching the Bulls' longest road winning streak against the Bucks. .... The Bulls had been 0-9 this season when trailing after three quarters. ... Bucks G Gary Neal's 17 points were his highest total since scoring 18 at Miami on Nov. 12. He averaged 6.5 points in his last four games while limited with a foot injury. ... C Larry Sanders, out since suffering a thumb injury in an off-the-court altercation Nov. 3, was cleared for basketball activities and began working out with the Bucks. There is no timetable on his return, according to coach Larry Drew. ... Bulls F Mike Dunleavy grew up in Milwaukee, where his father was an assistant and later head coach and general manager of the Bucks and played the last two seasons for the Bucks.