Born in Thunder Bay, Ontario, Ryan Johnson played a season with the USHL's Thunder Bay Flyers and caught the attention of many pro scouts. He was selected 36th overall by the Florida Panthers in the 1994 NHL Entry Draft then spent two years at the University of North Dakota where he played with his brother, Corey.
The brother of NHLer Greg Johnson, Craig played 28 games for the Canadian national team in 1995-96 then joined the pros with the AHL's Carolina Monarchs the following season. The next year he recorded two assists in a two-game recall with the club and averaged more than a point per game in the AHL with the New Haven Beast.
In 1997-98 he played 37 games for New Haven and one in the NHL, in a season hampered by injuries. He continued to toil in the minors the following year before making the Florida roster out of training camp in 1999. He played a solid fourth line role for 66 games then was traded across the state to the Tampa Bay Lightning for veteran Mike Sillinger. Johnson played 80 games with the Lightning in 2000-01 and was used in a number of situations before returning to the Panthers organization in the summer of 2001.
After one more season with the Panthers, Johnson was claimed by the St. Louis Blues in February, 2003. Johnston spent an enter season competing in the UHL with Missouri during the NHL lockout. When the NHL returned to action in 2005-06, Johnson appeared in 65 games for the Blues which included his 400th career NHL game. After his fourth season in St. Louis, Johnson returned to the rebuilding club in 2007-08 for what proved to be his last season with the club. In the summer of 2008, Johnson signed as an unrestricted free agent with the Vancouver Canucks.