Johnson played high school football at Dorsey High School in Los Angeles, California. Going into his senior season, he was regarded as one of the top three running backs in his region. During his final two years at Dorsey High School, he made up a running back tandem with future USC tailback Stafon Johnson, who was one year his junior.
College career
In Johnson's senior year at Oregon, he carried the ball 168 times to rush for 1201 yards, the sixth-highest total in team history. With 2,336 yards total at Oregon, he finished sixth all-time. He was mainly used in a tandem running attack with former Carolina Panthers running back Jonathan Stewart during his career at Oregon, but in his senior season led the team after Stewart's departure to the NFL as a junior. He helped lead the 2008 Oregon Ducks to a victory in the Holiday Bowl against Oklahoma State by rushing for 119 yards with a touchdown.
Professional career
Houston Texans
After going undrafted in the 2009 NFL Draft, Johnson signed a free agent contract with the Houston Texans. He was placed on season-ending injured reserve with a separated shoulder on August 6.
Washington Redskins
Johnson was signed to the Washington Redskins' practice squad on October 26, 2010, and released on October 27.
Carolina Panthers
Johnson was signed to the Carolina Panthers' practice squad on November 17, 2010, and released on December 2.
Denver Broncos
Johnson was signed to the Denver Broncos' practice squad on December 8, 2010, and released on September 3, 2011, but was re-signed to the practice squad the following day and later promoted to the active roster on September 16. He made his debut that week, only to be waived on September 20. Johnson was re-signed to the practice squad on September 22, 2011. With the announcement that running back Knowshon Moreno was out for the 2011 season on November 14, 2011, Johnson had been promoted by the Broncos to be their third running back on the active roster. On August 31, 2013, he was released by the Denver Broncos.
Toronto Argonauts
On January 8, 2014, Johnson signed with the Toronto Argonauts of the Canadian Football League. Johnson played in 5 games with the Argos in 2014. He carried the ball 21 times for 110 yards. Johnson was released by the Argonauts on August 26, 2014.
Ottawa Redblacks
Johnson signed with the Ottawa Redblacks on September 15, 2014. After signing with Redblacks halfway through the 2014 season he went on to play in 5 more games before the end of the regular season. On October 31 against the Tiger-Cats, he had a breakout performance, rushing for 131 yards on 17 carries, with 2 touchdowns. He finished the 2014 season with 238 rushing yards on 38 carries, with 2 rushing touchdowns. Johnson began the 2015 CFL season as the back-up tailback behind Chevon Walker. The Redblacks released Walker prior to Week 10, making Jeremiah Johnson the feature back. In the first 3 games following Walker's departure, Johnson accumulated 329 yards from scrimmage and scored 7 of Ottawa's 10 touchdowns. Johnson started a total of 6 games for the Redblacks in the 2015 campaign before his season was cut short after a suffering a dislocated foot. His season totals for the 2015 season were 97 carries for 448 yards with 9 rushing touchdowns: He also contributed 42 pass receptions for 267 receiving yards.
BC Lions
Johnson signed with the BC Lions as a free agent on February 10, 2016. Johnson was the Lion primary running back in his first season with the club, splitting some carries with Anthoney Allen. Johnson set career highs in carries and rushing yards in 2016, finishing the season fifth in rushing yards. Following the 2016 season Johnson was due to become a free agent on February 14, 2017 and signed an extenson with the Lions through 2018. However, the Lions traded for Tyrell Sutton partway through 2018, following Johnson's best performance of the season. This led to Johnson's benching; he ended up playing 13 games in 2018, and 41 total for the Lions for whom he had rushed for 2,355 yards and 21 scores plus 981 receiving yards and three more majors.
Montreal Alouettes
On May 21, 2019, Johnson signed with the Montreal Alouettes, the Canadian Football League team that had traded Sutton to BC the previous season. Johnson provided depth behind starter and 2019 All-Star William Stanback; in 11 games played, Johnson rushed 89 times for a touchdown and 532 yards for a career best single season rate of 6 yards per carry, plus 17 catches for 192 yards and another score, helping Montreal to their first playoff birth in 4 years. Following the season, Johnson retired, which was seen as a sign that the CFL "middle class" was disapearing for non All-Star veterans and quarterbacks. Over 6 seasons in the CFL, Johnson played in 72 games for 4 teams, putting up 3,683 yards and 34 touchdowns on 661 rushes, and catching 179 passes for 1,607 yards and 6 more touchdowns. Following his retirement, the Alouettes signed Sutton back, effectively replacing Johnson again.