The Nets had lost their previous 10 trips to the Palace of Auburn Hills, but overcame a five-point deficit in the final 4 minutes.
After Johnson hit his two foul shots, Will Bynum missed a 3-point attempt for Detroit that could have brought about an overtime period.
Greg Monroe hit 10-of-16 shots and scored 23 to go with 10 rebounds for the Pistons. Detroit led by as many as 13 in the second quarter.
Trader Joe's: Car crashes into Long Island store, injuring 11
Exploding whale video goes viral on Internet