Detroit fouled Felton at midcourt, preventing Portland from trying a 3-point attempt. He made both free throws, but Stuckey made two of his own with 4.4 seconds left for a three-point lead.
Tayshaun Prince added 17 points for Detroit, which led by as many as 16 in the third quarter and held on down the stretch.
LaMarcus Aldridge led Portland with 25 points, one night after a 33-point, 23-rebound effort against Toronto. Felton had 20 points and nine assists.
The Pistons had 25 turnovers in Friday night’s loss to Memphis, but they turned the ball over only four times in a crisp first half against Portland.
Detroit went on a 21-5 run in the second quarter to take a 47-34 lead. Stuckey scored 16 points in the half and Prince added 12, helping the Pistons to a 54-43 lead at the break.
Stuckey’s 3-pointer at the shot clock buzzer put Detroit ahead 67-51, but the Trail Blazers answered with a 16-2 run, cutting the lead to two on a 3-pointer by Nicolas Batum.
Portland trimmed the deficit to one on several occasions in the fourth, but Detroit responded each time. The Pistons finally gave themselves some breathing room when Greg Monroe tipped in a miss, Jason Maxiell added a putback of his own, and Monroe made two free throws to push it to 87-80 with 3:02 to play.
Stuckey had been averaging only 11.3 points, but he was aggressive from the start after missing the previous game with a groin injury. Detroit was without guard Ben Gordon (shoulder).