Danilo Gallinari recorded 29 points and Timofey Mozgov notched 23 with 14 rebounds in a reserve role for the Knicks, who have won three of four following a six-game skid.
Ben Gordon connected for a game-best 35 points on 12-of-21 from the field -- including 7-of-11 from long distance -- for the Pistons, who have lost three in a row and five of seven.
Tayshaun Price poured in 16 points and Greg Monroe contributed 15 points and a game-high 17 boards in defeat.
Gordon hit from long distance and the Pistons led 77-69 with 7:25 to play in the third quarter, but the Knicks began to chip away.
New York ripped off eight in a row to tie the game, then stayed with Detroit until the end of the quarter, when it erased a four-point deficit with two Gallinari free throws and a Stoudemire put-back forging a 91-91 deadlock heading to the fourth.
A 12-2 run to begin the final 12 minutes ensued, with Gallinari draining a trey to kick off the spurt and Raymond Felton hitting a jumper to give the Knicks a 103-93 advantage more than three minutes in.
New York kept the pressure on for the remainder of the contest and gained greater separation down the stretch.
Gordon tallied nine points in a first quarter which saw Detroit emerge with a 31-30 edge.
Charlie Villanueva tallied 11 for Detroit in the second period, including three triples, helping the visitors take a slim 62-60 edge to halftime.
New York has beaten Detroit in four straight games and seven of the last nine meetings since December, 2008...Felton posted 12 points and five assists in almost 37 minutes...Villanueva recorded 11 points...The Knicks forced 14 turnovers but committed only six...Detroit connected on 12-of-22 from beyond the arc and lost despite shooting 50.6 percent from the field.