Народився 18 грудня1965 року в місті Совето. Вихованець місцевого клубу «Джаєнт Блекпул[en]»[1][2], за першу команду якого провів 5 років своєї кар'єри, забивши 75 голів в 175 матчах[3]. Пізніше його запросили в один з найсильніших клубів Південної Африки — «Кайзер Чіфс». Непоганий виступ дозволили звернути на нього увагу в Європі.
У сезоні 1993/94 він грав за турецький «Генчлербірлігі», після чого перейшов в інший місцевий клуб «Коджаеліспор», з яким виграв Кубок Туреччини у 1997 році. Незабаром після тріумфальної перемоги, на початку 1998 року африканця за 2 млн. $ придбав один з турецьких грандів, клуб «Фенербахче»[4]. Мошоу відіграв за стамбульську команду наступні три роки своєї ігрової кар'єри. Більшість часу, проведеного у складі «Фенербахче», був основним гравцем команди, граючи під керівництвом таких знаменитих тренерів як Йоахім Лев та Зденек Земан.
Програвши у чемпіонському сезоні 2000/01 місце в основі ганцю Семюелу Джонсону, ще до закінчення розіграшу, на початку 2001 року Мошоу перейшов в «Бурсаспор», де провів ще півтора року.
У віці 37 років Джон повернувся на батьківщину у ПАР, де знову став виступати за «Кайзер Чіфс», з яким двічі виграв національний чемпіонат і по разу Кубок ПАР та Кубок ліги, після чого з 2006 року став грати за «АмаЗулу», де виступав до 2008 року, коли гравець вже був у віці 42 років. Граючи за цей клуб Мошоу встановив рекорд, ставши найстарішим автором голу у вищому дивізіоні Південної Африки, коли він забив м'яч у грі проти «Кайзер Чіфс» у 2007 році у віці 41 року, 11 місяців і 17 днів[4].
Згодом ходили чутки, що Мошоу повернеться до великого футболу в березні 2009 року, підписавши контракт з «Орландо Пайретс» або «Бідвест Вітс», але угоди так і не були підписані[5].
6 листопада 2010 року Мошоу оголосив про повернення до футболу, ставши разом із колишній партнером по збірній ПАР Браєном Балої співвласниками південноафриканського футбольного клубу «Александра Юнайтед»[6]. У сезоні 2011/12, Мошоу забив 20 голів за клуб у третьому за рівнем дивізіоні ПАР[en], будучи граючим тренером клубу до 11 травня 2014 року. А вже менш ніж через рік, 21 квітня 2015 року, він помер від раку[7].
Виступи за збірну
10 січня 1993 року дебютував в офіційних іграх у складі національної збірної ПАР в товариському матчі проти Ботсвани[3] і відразу ж забив гол.
Він став важливою частиною команди, яка виграла домашній Кубок африканських націй 1996 року, ставши другим найкращим бомбардиром турніру з чотирма голами. Титул континентального чемпіона дозволив команді поїхати на перший для своєї збірної розіграш Кубка конфедерацій 1997 року у Саудівській Аравії, втім там команда зайняла останнє місце у групі.
Згодом у складі збірної був учасником Кубка африканських націй 2000 року у Гані та Нігерії, на якому команда здобула бронзові нагороди, а також Кубка африканських націй 2004 року у Тунісі. Саме на цьому турнірі 31 березня 2004 року, зігравши у грі групового етапу проти Нігерії (0:4), він провів свій останній матч у віці 38 років, одного місяця і 13 днів, ставши найстарішим гравцем в історії своєї збірної[4]. Всього протягом кар'єри у національній команді, яка тривала 12 років, провів у формі головної команди країни 73 матчі, забивши 8 голів.