The Hornets ended Boston's season-best winning streak at six games while winning for the sixth time in seven outings.
New Orleans owned a four-point lead with 6:20 to play and then held the Celtics scoreless for the next 4 minutes while building its advantage to 87-71.
The Hornets won despite the absence of Eric Gordon, who was held out of action in the second of back-to-back games after returning from knee surgery.
Al-Farouq Aminu scored 18 points and had eight rebounds for New Orleans. Robin Lopez added 17 points and Vasquez had 15 along with 11 rebounds.
The six-game winning streak had been Boston's longest since it captured 14 in a row two seasons ago.
Kevin Garnett led Boston with 15 points. The Celtics hit only 4-of-18 from 3-point range and 6-of-16 from the foul line.