The Heat trailed by eight points with 5 minutes remaining but Wade scored nine points during an 11-2 run that gave Miami a 100-99 lead.
After the Cavaliers' Dion Waiters sank a 20-footer, Battier put the Heat ahead for good with a trey off Wade's assist, and surging Miami held on for an 11th straight victory.
Wade finished with 24 points, LeBron James added 28 with eight helpers and Battier supplied 14 points.
Waiters went 11-of-17 from the field for 26 points and C.J. Miles made five 3-pointers en route to 19 off the bench for Cleveland.