MIAMI (AP) -- Josh Richardson scored 16 points, Dwyane Wade had a pair of big baskets in the final minutes and the Miami Heat held Giannis Antetokounmpo to a season-low scoring effort on their way to a 94-87 win over the Milwaukee Bucks on Saturday night.
Wade finished with 13 points for Miami, which extended its season-high winning streak to four games. Hassan Whiteside had 11 points and 13 rebounds, and Kelly Olynyk and James Johnson each scored 11 points for the Heat.
Antetokounmpo was held to a season-low nine points -- his previous was 12 -- on 3 for 12 shooting, though he did have 13 rebounds. Khris Middleton scored 18 points and Eric Bledsoe added 17 for the Bucks, who shot 37 percent -- and 9 for 43 from 3-point range. It was the sixth-worst 3-point percentage in NBA history for a team taking at least 40 shots from beyond the arc.
Miami shot only 38 percent and improved to 5-4 when shooting under 40 percent this season, by far the best in the league in that department. The rest of the NBA has won about 9 percent of the time when shooting that percentage or worse.
Milwaukee trailed by as many as 17 and got within 82-81 on a 3-pointer by Tony Snell with 2:42 left. Richardson made a pair of free throws, Wade had Miami's next four points on a pair of midrange jumpers, and the Heat finished on a 12-6 run to put away their sixth consecutive win over the Bucks.
The Bucks missed 12 of their first 14 shots from the field, and were 0 for 13 from 3-point range before finally getting one of those to fall. Miami led 21-8 after the first quarter -- meaning the Bucks, who entered as the NBA's highest-scoring team averaging 117.8 points per game -- were held to the lowest-scoring opening period in the league this season.
It tied a franchise-low first quarter total for the Bucks, tied a franchise-best for fewest points allowed in a first quarter by the Heat, and Antetokounmpo was held scoreless in an opening quarter for the second time in his last 129 games.
The Bucks scored 30 in the second quarter and took a 38-37 lead at the half, but Miami opened the third on a 14-2 run and kept the lead the rest of the way.
Bucks: Even with the loss, the last time Milwaukee (22-10) got off to a better 32-game start to the season was 1990-91 (24-8). ... It was a tough turnaround, schedule-wise, for Milwaukee. The Bucks played an 8 p.m. game in Boston on Friday, and their plane didn't get to the gate in Miami until 3:34 a.m. Saturday. "I guess I'd be lying if I didn't say this was one of the more unique (back-to-backs) I've seen in all my years," Milwaukee coach Mike Budenholzer said.
Heat: Justise Winslow returned after missing the previous 1 1/2 games with ankle soreness. ... The win was Miami's 500th regular-season victory at AmericanAirlines Arena, their home since Jan. 2, 2000. They're now 500-274.
YEAR OF WAITING
Saturday marked the one-year anniversary of Dion Waiters' last appearance with the Heat. He hurt his left ankle in the first quarter of Miami's win over Dallas on Dec. 22, 2017, had surgery a few weeks later and hasn't played since. Waiters has been getting time on the practice court for the past several weeks and is likely near a return.
Bucks: Visit New York on Christmas Day, in Milwaukee's first game on the holiday since 1977.
Heat: Visit Orlando on Sunday, which will be the 24th and likely final time Wade plays there.