Shawn Marion's buzzer-beating jump shot gave the Phoenix Suns a 110-108 road win that snapped the Cleveland Cavaliers's five-game winning streak on Friday.