"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.
"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.
"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."
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.
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.