Футболист начал карьеру в «Мидлсбро». Первый матч за клуб австралиец сыграл в 17 лет против «Эвертона». Первые годы футболист играл очень редко, но в сезоне 1979/1980 Крейг сыграл 30 матчей и забил 5 голов в первом дивизионе. В сезоне 1980/1981 футболист сыграл 27 матчей и забил 10 голов в первом дивизионе футбольной лиги. В 1981 году полузащитник перешёл в один из сильнейших клубов Англии «Ливерпуль» за 650 тысяч фунтов. В августе 1981 года он сыграл первый матч за «Ливерпуль» против «Вулверхемптона». С сезона 1982/1983 и до конца карьеры футболист был игроком основного состава, сыграв 33 матча и забив 7 голов. «Ливерпуль» выиграл чемпионат Англии. В сезоне 1983/1984 Крейг сыграл 29 матчей и забил 2 гола. В Кубке чемпионов полузащитник забил гол «Бенфике» в 1/4 финала.
Сборная Англии
Крейг Джонстон сыграл два матча за молодёжную сборную Англии по футболу