The game had been deadlocked at 4-4 since the fifth when Tampa Bay came up with its big inning against Matt Belisle (1-2).
After Matt Joyce was retired on a fly ball to center, Johnson smashed his fourth homer on a 1-2 pitch.
Kyle Farnsworth (1-0) worked the ninth for Tampa Bay to get the win, only his second in the last two years. Farnsworth has a 41-62 record in a career that began in 1999. Fernando Rodney protected the lead in the 10th for his fourth save.
The Rays, who had lost two in a row, overcame an early 3-0 deficit thanks in part to a two-run homer in the fifth by Desmond Jennings.
Colorado had built that lead thanks to a two-run blast by Michael Cuddyer in the first and a solo shot by Josh Rutledge in the second.