A journeyman, Johnson has played for the Blue Jackets, New York Islanders, Chicago Blackhawks, Calgary Flames, Edmonton Oilers and Boston Bruins in the NHL, and several minor league teams during his career.
[3] Johnson appeared in one game at the 2001 Memorial Cup tournament as Rimouski went on to win the Canadian Hockey League championship.
He was assigned to the American Hockey League (AHL)'s Syracuse Crunch upon turning professional in 2003, but appeared in 29 games with the Blue Jackets in the 2003–04 NHL season.
[6] A series of injuries to Calgary's defencemen gave Johnson an opportunity to play,[7] but he was on the move again after 22 games with the Flames.
[9] On July 3, 2014, Johnson left the Rangers organization after one season and agreed to a one-year contract as a free agent with the Ottawa Senators.
On September 25, 2015, Johnson, as a free agent, returned to the Calgary Flames organization, agreeing to a one-year AHL contract with affiliate, the Stockton Heat.
[13] On July 26, 2018, Johnson left Germany after two years and agreed as a free agent to a two-year deal with English club the Sheffield Steelers of the EIHL.