Phoenix led by seven at the break, but turned cold over the final two quarters while losing its fifth in a row. Brooklyn has won five straight.
Johnson played through an illness to score 19 points and was backed up by 17 from MarShon Brooks and 15 from Andray Blatche. Brooklyn went to the foul line 16 more times than Phoenix and made 15 more than did the Suns.
Jared Dudley led Phoenix with 18 points and hit all four of his attempts from 3-point range.
Phoenix was called for 30 fouls to 15 for the Nets.