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 and 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.
Heat: Coach Erik Spoelstra said Justise Winslow (lower back) won’t play this weekend against the Knicks and he’ll be re-evaluated when the team returns to Miami.
Nets: Coach Kenny Atkinson said Kyrie Irving’s shoulder responded well to five-on-five play in practice Thursday, and he will play five-on-five again Saturday at practice. … Wilson Chandler (left hamstring) and Garrett Temple (right knee) were out for Brooklyn.
Heat: At New York Knicks on Sunday.
Nets: Host Atlanta Hawks on Sunday.
Source: Fox Sports