Johnson carried the ball 27 times and finished with at least 1,000 yards for a sixth straight year beginning his career. He became only the sixth player in NFL history to accomplish the feat.
Ryan Fitzpatrick connected on 15-of-24 passes for 166 yards with an interception for the Titans (7-9).
Matt Schaub went 22-for-34 through the air for 229 yards and two interceptions for Houston (2-14), which secured the NFL's first overall draft pick with the league's worst record.
Jonathan Grimes ran for 50 yards on 16 times in his first NFL start.