Phoenix, which came into the game tied with Atlanta for the best record in the NBA at 10-2, lost for the second time in eight games.
It was a 93-93 tie with 3:30 remaining when Collison put New Orleans in front with two free throws. His 3-pointer with 2:16 to go boosted the lead to six.
Peja Stojakovic led New Orleans with 25 points. Both Devin Brown and Marcus Thornton had 19 and Collison had 15. Collison made only 4-of-15 shots from the field.
Amare Stoudemire scored 23 for Phoenix.
The Hornets continued to play without all-star guard Chris Paul, who is sidelined indefinitely with a left-ankle sprain he sustained last week.