Milwaukee stretched its lead to 10 points early in the fourth when Udrih made a 3-pointer but the Nuggets gradually cut into the lead, pulling to 100-97 after Gallinari's 3-pointer with 5:08 left to play.
Faried made a free throw, and Brewer got loose for a breakaway dunk off a Milwaukee turnover to even the score at 100-all with 3:36 remaining.
Denver got six straight points from Lawson, including a pair of free throws with 3:06 left that gave the Nuggets their first lead. A turnover by Jennings led to another fastbreak that Iguodala finished with a dunk to put the Nuggets up 108-103 with 1:27 remaining. The Bucks managed only a free throw by Jennings the rest of the way.
"It was definitely the defense," Gallinari said. "We picked up our defense and that made us play better."
Scoring a season-high for a half, the Bucks took a 66-51 lead at the break, boosted by Dalembert's blistering performance. He hit his first nine shots before finally misfiring on a layup, only to get the rebound and put it back in to finish the first half with 21 points on 10-of-11 shooting from the floor.
Iguodala hit a jumper to pull Denver within 46-43 with 4:22 left in the second quarter. Milwaukee responded by closing the period with a 20-8 run, starting with a 3-pointer by Mbah a Moute followed by five consecutive fastbreaks, including four ending in layups by Jennings.
NOTES: The Bucks' previous high in a half was 65 points (second half) a week ago at Detroit. ... JaVale McGee returned to action for the Nuggets after missing the previous three games with soreness in his left shin. ... Dalembert's previous scoring high this season was 15 points against New Orleans on Nov. 17. ... The Nuggets last won seven in a row from Nov. 20-Dec. 5, 2010. ... Milwaukee has lost eight of its last 10 in Denver.