Charlotte had been trying to win back-to-back games for the first time in three months.
Kemba Walker brought the Bobcats within 100-99 by hitting two free throws with 77 seconds to play, but they could not manage another point. Charlotte missed the only two shots it took down the stretch and turned the ball over once.
Greg Monroe's layup gave Detroit a three-point lead with 1:03 to play and Jose Calderon hit three from the foul line during the final 22 seconds. Monroe added 19 points for the Pistons, who evened their home record at 16-16.
Walker scored 24 points, but was 8-of-19 from the field.