The Bucks wasted another sizeable advantage in the final period Tuesday night against the Cleveland Cavaliers, but fought back this time to capture a 119-116 win.
Giannis Antetokounmpo, who led the Bucks with 27 points, 14 rebounds and eight assists.
Eric Bledsoe scored 26 points for Milwaukee, which ended a five-game losing streak to Cleveland. Khris Middleton had 18 points and 10 assists, and Malcolm Brogdon finished with 16 points.
LeBron James scored 39 points for Cleveland, which lost for just the second time in its last 20 games. James had seven assists but grabbed just one rebound in the waning seconds. Kevin Love finished with 21 points.
Milwaukee led 103-83 when Cleveland launched a furious comeback with James on the bench. Back-to-back 3-pointers by Dwyane Wade put the Cavaliers up 107-105, capping a 24-3 run and giving the visitors their first lead since the second quarter.
A 3-pointer by Brogdon put the Bucks back in front with 3:38 remaining. A traditional three-point play by James put the Cavaliers ahead 113-112 with about two minutes left.
Tony Snell responded with a 3-pointer for Milwaukee with 58.9 seconds remaining. After a Cleveland miss, Antetokounmpo grabbed a loose ball, hit a short shot and was fouled. His free throw gave the Bucks a 117-113 lead with 5.9 seconds to go.
Wade finished with 14 points for Cleveland, and Jeff Green had 13.