Vince Carter notched 17 points, nine rebounds and eight assists for the Nets, who won their second straight following a four-game skid. Brook Lopez contributed 15 points and seven boards for New Jersey, which is 2 1/2 games behind Chicago for the eighth seed in the Eastern Conference.
Dwyane Wade, who missed the previous game with a hip flexor, had another great all-around contest with 27 points, eight rebounds and six assists, but the Heat lost their third in a row after winning five of six.
New Jersey led by a 21-17 margin after the first quarter and surged at the end of the second for a 51-39 halftime lead. Carter nailed a three-pointer during the latter stages of the period.
The Nets were in front by double digits half of the third quarter, but Wade scored the final three, trimming the margin to 67-63 moving to the fourth.
Luther Head's driving layup tied the game at 73 for the Heat with under eight minutes remaining, but the Nets scored the ensuing nine points, capped by a Keyon Dooling three-ball with nearly five minutes left.
Wade's bucket had the Heat within 89-86 with barely over two minutes left, but Hayes responded with a jumper, and Douglas-Roberts added the dagger -- a three-pointer for an eight-point difference with 1:10 to go.