Quarterback Matt Hasselbeck hit Nate Washington for a 15-yard touchdown pass on fourth down with just over a minute remaining to put the Titans into the final lead of a see-saw contest.
It was veteran Hasselbeck's 22nd fourth-quarter comeback win and second in consecutive weeks after he rallied Tennessee to a 26-23 win over the Pittsburgh Steelers.
However Johnson had laid the foundations for victory, rushing for 195 yards and two scores. He had managed just 301 yards for the season previously and had not managed to find the end zone.
He broke his duck for the campaign on a 16-yard run early in the first quarter before doubling his tally with a superb 83-yard effort that made it 14-7 to the Titans.
Back-up tailback Jamie Harper also scored twice, both on 1-yard plunges that sandwiched a pair of field goals from Buffalo kicker Rian Lindell.
Bills quarterback Ryan Fitzpatrick finished 27 of 35 for 225 yards and three touchdowns, but turned the ball over twice, including a lost fumble.
Fred Jackson caught a three-yarder to make it seven apiece before TD grabs from Donald Jones and then Steve Johnson in the third quarter actually put the Bills - who are now 3-4 for the season - 34-28 in front.
They also managed a special teams score, Brad Smith's 89-yard kick-off return making it 14 apiece - it was the third touchdown in a crazy 30-second span during the first quarter.