Redd scored a season-high 42 points, including five free throws in the final 1:13, and the Bucks rallied from 23 points down to beat Denver 115-109 on Saturday.
It was Milwaukee's second victory in three games since the All-Star break. The other was a resounding home win over Detroit on Wednesday -- before getting blown out by the same Pistons Friday.
"Major wins against quality teams, that's encouraging," Redd said. "We have to come out every game, from here on out, with an attitude."
Mo Williams added 26 points, including 20 in the second half, for Milwaukee, which finished the game on a 23-10 run to deny Denver (33-22) its best 55-game start in 20 years.
Allen Iverson scored 26 points, and Carmelo Anthony added 25 for the Nuggets, which led by 23 in the second quarter, 64-50 at halftime and 99-92 with less than seven minutes remaining. They couldn't hold off the Bucks, who made 13 of 14 free throws in the final 1:35 to seal the comeback and the victory.
The game was tied at 104 with 1:19 remaining when Redd made two free throws on back-to-back possessions to put Milwaukee up four. Williams made it 110-104 with two free throws with 31 seconds left.
Andrew Bogut had 12 points and a season-high 20 rebounds for Milwaukee.
J.R. Smith, coming off a career-best 43-point performance against Chicago on Friday, had 20 points for Denver.
"They played better than us," Iverson said. "They had a better half than we had. We couldn't stop them defensively, and we couldn't get anything going offensively."
Denver looked on its way to dominating Milwaukee in the first half, but the Bucks opened the third quarter on a 25-13 run behind 12 points by Williams to cut a 14-point halftime deficit to 77-75. Williams had 14 in the period and the Bucks outrebounded the Nuggets 17-3 in the third.
Milwaukee outrebounded the Nuggets 53-40 for the game, as the Bucks pushed their record to 21-35, remaining within striking distance of the eighth playoff spot in the Eastern Conference.
Denver, meanwhile, fell into a tie with Golden State for the eighth spot in the West.
"We might have run out of gas a little bit," Nuggets coach George Karl said. "We looked like a tired team at the end of the game. We're not playing 48 minutes on the road.
"We're playing good basketball for stretches, but defensively we're giving up way too many points."
Denver went up 93-84 early in the fourth quarter with a long jumper by Iverson, but the Bucks came back again as Redd made it 96-92 with a 3-pointer with less than 8 minutes left.
Eduardo Najera gave Denver some breathing room at 99-92 with a 3-pointer with 6:30 to play before Milwaukee used a 10-0 run to take a 102-99 lead on a putback by Bogut with 3:01 left.
Charlie Bell had given Milwaukee its first lead since early in the first quarter, 100-99, with a 3-pointer from the left corner with 3:35 remaining.
"We just stood around and watched in the first half," Bucks coach Larry Krystkowiak said. "We just had no desire. Then we made some plays to the end of the first half, and we made some plays in the third quarter and just kept fighting and fighting. The guys just believed."
Bogut said the Bucks improved in the second half because they played looser.
"Just playing free," he said. "Twenty-three points down, there's not much else we could do. The bottom line is we're a decent team. We just need to put it together and you never know what can happen."
Denver had won nine of 10 games against the Bucks, including four straight in Milwaukee.
For as good as the Bucks looked in the second half, they looked just as bad in the first.
Milwaukee missed 12 of its first 15 shots as Denver went on a 16-0 first-quarter run.
The Nuggets had 17 fast-break points to Milwaukee's zero in the half and outrebounded the Bucks 30-24 before halftime. The Nuggets even had two first-half layups after rebounding its own missed free throws.
Redd's 26 first-half points kept Milwaukee in the game, even as the crowd booed on several occasions, saving its biggest applause of the first three quarters -- and a standing ovation -- for a group of senior citizen women dancers who performed to "Soulja Boy" before the final period.
That changed in the raucous fourth quarter.
"We finally had this place rocking for the first time probably since the start of the year," Bogut said.
Anthony and Marcus Camby picked up separate technical fouls late in the second quarter for arguing with the officials. Smith also had a technical foul in the fourth quarter for arguing.
"It's frustrating," Iverson said. "I'm not worried because we've got 27 more games to go."
The Nuggets last started 34-21 in 1987-88. Denver's best 55-game start came in 1976-77, when the Nuggets began the year 36-19 under coach Larry Brown. ... Only three times this season has Anthony or Iverson not led the Nuggets in scoring. ... Smith's 43 points Friday were the most for a Denver non-starter.
Gary Trent Jr.'s inspiring mission to help his best friend walk again
Trail Blazers guard Gary Trent Jr. is on a mission to help his best friend, Jordan Bolton, walk again.
Stephen A. pumps the brakes on calling 76ers elite
Stephen A. Smith says the 76ers need to make a playoff run before being considered elite.
Pandemic changes NBA draft rules for seniors
Due to the pandemic, the NBA is requiring college seniors to opt in if they want to be in the draft this year.