Carter had just three points through the first 36 minutes but took over in the final eight, scoring 11 of his 14 points.
The perennial All-Star came out of a time out in a tie game with 1:45 to play and hit a 17-foot jumper. After a miss by LeBron James, Carter sank a basket from the top of the key with 6-10 Darius Miles in his face.
Carter punctuated his team's second win in as many meetings with the Cavaliers this season with a spectacular windmill dunk with 21 seconds to go.
James, the NBA's leading rookie scorer, had 21 points.