Paul Pressey scored 24 points and Terry Cummings 20 as visiting Milwaukee (39-17) won its fifth straight.
Milwaukee lost a 14-point second quarter lead before regrouping in the final period. Detroit (32-23) lost its sixth in eight games and fell to 6 1/2 games behind the Bucks in the Central Division.
The Bucks carried a 58-48 lead into the third quarter but a 10-4 run, ended by Earl Cureton's tip-in, brought Detroit to 74-69.
Cureton teamed with Vinnie Johnson for two baskets early in the fourth quarter that pulled Detroit to 85-83. After a basket by Pressey, Johnson scored six straight points as Detroit took an 89-87 lead with 9:52 to go. Johnson scored all of his 23 points in the second half.
The Bucks took the lead for good at 92-91 on two free throws by Ricky Pierce with 7:30 left.
Before the game, the Pistons announced that forward Kelly Tripucka is expected to remain out of action for about two more weeks.
Tripucka severely sprained his left ankle and also sprained some ligaments during a game against the Washington Bullets Jan. 27. Including tonight's game, Tripucka has missed 22 of the Pistons' first 55 games. A sprained right ankle and pulled right hamstring kept him out at separate times earlier in the season.