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.
Notable deaths of 2014 [PHOTOS]
Michael Sam cut from the Dallas Cowboys