Andrew Bogut added 18 points and 10 rebounds for the Bucks, who have alternated wins and losses for the last 11 games. Luke Ridnour dropped 14 points and doled out 10 assists, giving him 2,006 helpers for his career.
Charlie Villanueva had 16 points for Milwaukee, which gave head coach Scott Skiles his 300th win as a coach.
Nick Young tallied a career-high 30 points for the Wizards, losers of five straight and seven of eight overall. Antawn Jamison chipped in 25 points, including a 3-of-5 mark from behind the arc. Etan Thomas left early in the first quarter with a left knee injury and did not return.
Down by four late in the fourth quarter, Young went 1-of-2 from the charity stripe to cut it to 90-87 with 2:17 showing on the clock.
Milwaukee then turned the ball over and Young's jumper made it a one-point game, but Redd answered at the other end with a three to make it 93-89 with 1:20 left in the tilt.
Two free throws from Mike James with 20.4 ticks left cut it to 94-91, but with a need to foul the Wizards got no closer.
Milwaukee opened a 25-19 lead after the first quarter, following a 9-of-30 shooting performance from the Wizards over the first 12 minutes.
After outscoring the Bucks 33-16 in the second stanza, Washington assumed a 52-41 advantage heading into the intermission.
Villanueva's three-pointer capped a 9-0 Bucks run that cut it to 72-69 late in the third quarter.
Javaris Crittenton then added a long-range jumper for the Wizards to give the home team a 74-69 lead heading into the final 12 minutes.
Bogut's dunk sparked a 15-5 run that Milwaukee used to open the fourth quarter. Bogut also closed out the surge with a layup to give the Bucks an 84-79 lead just prior to the midway point.