Johnson was scheduled to become a free agent in February.
"Jeremiah gave us good production from the running back position last year and this is great news for our offence,'' Wally Buono, the Lions head coach and GM, said in a statement.
Johnson made 11 starts last season, running for 809 yards on 138 carries (5.9-yard average) with seven touchdowns. He rushed for a career-high 159 yards in a 38-27 win over Montreal on Sept. 9.
"I'm thrilled to be part of this team moving forward,'' said Johnson, who plans to spend the off-season in Vancouver. "We have a very good opportunity to achieve great things with the team we're putting together in 2017.''
(The Canadian Press)