Джон родился в 1935 году в городе Редклифф. Начал играть в снукер в возрасте пятнадцати лет, что довольно поздно для этой игры. Но 1950-х Джон служил в армии, что помешало ему развивать свой талант. Он вновь стал серьёзно заниматься снукером лишь в 1964 году, когда попал в финал любительского первенства Англии. Затем Спенсер стремительно прогрессировал, снова став финалистом на следующий год и выиграв турнир в 1966-м. В том же году англичанин отправился в Карачи, чтобы играть на чемпионате мира среди любителей, но в финале уступил Гарри Оуэну. После этих успехов он перешёл в профессионалы вместе с Риардоном и Оуэном. Таким образом, они стали первыми новыми профессиональными снукеристами с 1951-го.
На своём первом чемпионате мира Спенсер произвёл настоящий фурор, победив в 1/4-й восьмикратного чемпиона Джона Пульмана, 25:18, и дальше Рекса Уильямса, 37:12. В финальном матче он снова столкнулся с Гарри Оуэном и отомстил ему за поражение в Пакистанe, выиграв со счётом 37:24. И хотя на следующий год англичанину не удалось защитить титул, он возвратил его себе в ноябре 1970 года. Тогда в Австралии он в финале выиграл у местного игрока — Уоррена Симпсона — со счётом 37:29. Тогда же англичанин во второй стал уже двукратным победителем турнира Pot Black Cup.
Спенсер был готов защитить своё звание в 1972 году, но в финале не смог должным образом противостоять североирландцу Алексу Хиггинсу, и уступил тому, 32:37.
В первом снукерном сезоне (1973/1974), когда стало проводиться больше соревнований, Джон победил в Norwich Union Open и достиг полуфинала на мировом первенстве. А в последующих двух сезонах он победил ещё на трёх турнирах, среди которых был Мастерс. Однако главным успехом в карьере Спенсера стала третья победа на чемпионате мира 1977 года в Театре Крусибл, когда он выиграл у Клиффа Торбурна, 25:21. Этим достижением Джон фактически вошёл в историю, потому что только четырём игрокам до него удавалось трижды быть чемпионами. Но на этом он не остановился. Он продолжил свою серию побед, став в сезоне 1977/78 триумфатором на Pontins Professional и Benson & Hedges Irish Masters. Благодаря этим грандиозным победам Спенсер занял вторую строчку в мировом рейтинге снукеристов.
Примерно в это время у него значительно ухудшилось зрение, и новые выигрыши стали даваться англичанину с трудом. Тем не менее, он совершил великолепный дубль в 1979 году на турнире Holsten Lager International. Он не только выиграл его, но и сделал первый максимум на официальных соревнованиях.
Свою последнюю победу Джон одержал в 1980 году на Wilsons Classic, хотя в 1981 он в составе английской команды выиграл ещё и командный Кубок мира. Затем у него ещё более усложнилась ситуация со зрением, и англичанин стал быстро ухудшать своё положение в рейтинге. Более-менее приличного результата он добился на British Open 1987, когда вышел в четвертьфинал. Но в конечном итоге он проиграл Джимми Уайту.
Джон Спенсер некоторое время ещё продолжал играть, совмещая профессиональную карьеру с профессией комментатора на телевидении, но окончательно уволился в 1992 году.
Был председателем в WPBSA, ушёл оттуда в 1996-м. Жизнь Спенсера резко ухудшилась в 2003-м, когда у него обнаружили рак лёгких. Свои последние годы доживал в Болтоне. В 2005 году написал автобиографию, «Out of the Blue». Умер 11 июля 2006 года.