Johnson enrolled at the University of Miami in 2010, where he played in 10 games as a true freshman, rushing for 119 yards on nine carries. On May 17, 2011, Johnson announced he was leaving the university. One month later, on June 17, 2011, Johnson reported that he would transfer to the University of Central Florida, where he would play for the UCF Knights football team. After redshirting in 2011 due to NCAA transfer rules, Johnson was the back-up to Latavius Murray in 2012. He finished second on the team with 507 yards on 113 carries and ran for four touchdowns, while catching 10 passes for 20 yards. In 2013, Johnson rushed for 1,139 yards on 213 carries, while running for 14 touchdowns. He also caught 20 passes for 360 yards and three touchdowns, earning first-team All-AAC honors. In the 2014 Fiesta Bowl against Baylor, he rushed for 124 yards and three touchdowns, which tied an individual school record for a bowl game, helping lead the Knights to a 52-42 victory. On January 6, 2014, Johnson announced he would be joining teammate Blake Bortles by foregoing his remaining eligibility and entering the 2014 NFL Draft.
Professional career
Jacksonville Jaguars
Johnson was reunited with Bortles when he was drafted by the Jacksonville Jaguars in the seventh round of the 2014 NFL Draft. Johnson appeared in six games, rushing for 86 yards and two touchdowns. Johnson was released by Jacksonville on September 4, 2015.
On April 25, 2016, Johnson signed with the Tampa Bay Buccaneers. On August 28, 2016, Johnson was waived by the Buccaneers.
Miami Dolphins
On November 8, 2016, Johnson was signed to the Miami Dolphins' practice squad. He signed a reserve/future contract with the Dolphins on January 10, 2017. He was waived on September 2, 2017.
On December 11, 2017, Johnson signed with the Hamilton Tiger-Cats of the Canadian Football League. After playing in the first preseason game with Hamilton, and recording 5 rushes for 48 yards, Johnson was released on June 3, 2018.
On June 6, 2018, Johnson signed with the Saskatchewan Roughriders of the CFL, in time for their second preseason game. During that game, Johnson split reps with other former NFL running backs such as Zac Stacy, Tre Mason, and David Cobb. Johnson had 7 yards on two carries, and a catch for 4 yards, but Mason, who had only one touch all preseason, won out on the job in the end; Johnson was cut on June 10, 2018.