Memphis survived a record 3-point shooting display by Chandler Parsons to win for the sixth time in seven games.
Parsons scored a career-high 34 points and made 10 3-pointers during the third and fourth periods. That set an NBA all-time record for most 3-pointers in a half.
Johnson's basket gave Houston an 88-84 lead and Parsons hit the last of his 3-pointers with 1:54 to go to bring the Rockets within one.
Memphis missed its only two shots the rest of the way and the Grizzlies suffered a turnover as well. Houston, however, could not make any of its final four shots, the last of which came from Patrick Beverley at the buzzer.
Houston had won its previous three games.