The Bucks began the final period on a 14-1 run and held on for a 104-100 win over the Detroit Pistons on Wednesday night.
Giannis Antetokounmpo had 25 points and 10 rebounds, and Khris Middleton had 21 points, including four free throws in the final 20 seconds to help the Bucks win for the fourth time in five games. Eric Bledsoe added 22 points.
"We just stayed with it," Middleton said. "We did a great job of holding onto the lead. We have just been grinding it out and staying with it."
Milwaukee took a 60-51 lead into halftime, but Detroit outscored the Bucks 25-16 in the third quarter to send the game to the fourth tied at 76.
The Bucks took a 90-77 lead on a jumper by Malcolm Brogdon with 6:42 remaining. Including the end of the third quarter, Detroit went 7:57 without a field goal until Tobias Harris scored with 5:12 left.
Andre Drummond scored 27 points with 20 rebounds for Detroit, which lost its fourth straight.
Pistons coach Stan Van Gundy blamed the slow start to the fourth quarter on the Pistons bench players.
"Our bench has not played well on this trip," Van Gundy said. "We maybe have to change up our rotations. Our bench has been really, really good for us, but now has not been."
Reggie Jackson's jumper pulled Detroit within 97-94, but Bledsoe tipped in his own miss to make it 99-94 with 32.1 seconds to play.
"Giannis and Bledsoe made some big plays down the stretch with some offensive rebounds," Bucks coach Jason Kidd said. "Just the confidence that those two have in one another and in the team is great. Nobody is panicking trying to execute the play."
Milwaukee led 64-53 after an alley-oop dunk by John Henson with 9:55 left in the third quarter.
The Pistons answered with a 14-2 spurt to take a 67-66 lead. Harris scored the final eight points of the run, including a 3-pointer to cap the stretch with 6:09 remaining in the third.
Harris had 21 points, and Avery Bradley scored 20.
"We just need to keep our head up," Drummond said. "We can't allow these losses to get us down. It is a long season."
Pistons: Forward Jon Leuer was out with a left ankle sprain. ... After coming off the bench Monday against San Antonio, forward Stanley Johnson returned to the starting lineup. Forward Anthony Tolliver moved to the bench.
Bucks: Guard Jason Terry is expected to miss multiple weeks with a left calf strain suffered Monday against Boston. ... Playing double-digit minutes for the first time since Oct. 31, guard Rashad Vaughn scored 11 points in 17 minutes.
GREEK FREAK BIRTHDAY
Antetokounmpo celebrated his 23rd birthday Wednesday. He has the most points (5,364), rebounds (2,407) and assists (1,230) in Bucks history before turning 23.
His 30 games of scoring at least 30 points before reaching 23 years old is second to only Kareem Abdul-Jabbar's 32 in franchise history.
Former Marquette star and Wisconsin native Henry Ellenson returned to the building where he played college basketball. Ellenson has played in just nine games for Detroit this season, averaging 4.2 points and 2.6 rebounds.
Pistons: Detroit hosts Golden State on Friday night.
Bucks: Milwaukee continues a three-game homestand against Dallas on Friday night.