Jarrett Allen finished with 11 points and 11 rebounds for his team-high 17th double-double of the season.
Miami’s Duncan Robinson missed a 3-pointer from the corner with 5.7 seconds left.
The Nets came up with several clutch plays down the stretch.
Caris LeVert hit a step-back 3-pointer to give Brooklyn a 112-111 lead with 1:09 remaining.
— Brooklyn Nets (@BrooklynNets) January 11, 2020
Prince hit a floater in the lane that extended the lead to 114-111 with 25.9 seconds left.
Butler hit back-to-back jumpers and a layup to give Miami a 109-100 lead with 5:09 remaining, but Brooklyn responded with a pair of 3s by Dinwiddie and LeVert to cut the deficit to three with 3:37 left.
The Nets turned up the defensive intensity in the third quarter and held Miami to 20 points in the period, which ended in an 89-all tie.
Miami led 69-57 at the half. Butler led all scorers with 19 points. Brooklyn attempted three free throws in the first half and relied on perimeter jumpers.
Miami shot a blistering 65% from the field in the first quarter and Butler scored 13 points as the Heat took a 42-32 lead.
Kurucs made a season-high three 3-pointers in the first quarter for Brooklyn.