Detroit ran off nine points in a row to take a 93-91 lead with 1:58 to play, but the Hornets then got hot down the stretch to win for the first time in three games.
Vasquez hit a shot on the run that banked off the backboard with 12 seconds left to put New Orleans in front by three. After Rodney Stuckey missed a 3-pointer for the Pistons, Al-Farouq Aminu made two free throws for the Hornets to put the game away.
Vasquez scored 25 points, 13 of which came in the fourth quarter, and had nine assists. New Orleans bounced back from a 45-point loss to Oklahoma City two nights earlier.
Detroit, which has lost four out of five, was led by 27 points and 10 rebounds from Greg Monroe.