Джон Кернкросс родился в 1913 году в шотландской мелкобуржуазной семье. После окончания средней школы он поступил в Шотландский университет в Глазго, а затем в Тринити-колледж Кэмбриджского университета. Изучал немецкий и французский языки.
Во время учебы в Кэмбридже вступил в ряды Британской коммунистической партии. Здесь же он познакомился с Антони Блантом, который стал университетским куратором Кернкросса.
О коммунистических взглядах Дж. Кернкросса стало известно советской разведке. В середине 30-х годов он был привлечен к сотрудничеству с ней выдающимся агентом-нелегалом Арнольдом Дейчем, который завербовал и других членов т.н. "кэмбриджской пятерки". По рекомендации А. Дейча Дж. Кернкросс вышел из Британской коммунистической партии в 1936 году и вместо занятия научной работой поступил на работу в британский МИД. Дж. Кернкросс успешно сдал экзамены и начал работать в немецком отделе Форин-офиса. Здесь он чувствовал себя неуютно из-за "плебейского" происхождения и в 1938 году по рекомендации советской разведки, имевшей прочные агентурные позиции в МИД Великобритании, он перешел на работу в министерство финансов. От него поступала важная информация о политике Великобритании, ее торгово-экономических связях с европейскими странами и США.
В 1942 году Дж. Кернкросс был переведен на работу в британскую дешифровальную службу в Блетчли-парке для наблюдения за расшифровкой британскими контрразведчиками донесений, направляемых гитлеровцами с использованием шифровальной машины "Энигма". Эти операции британских спецслужб во время войны носили условное название план "Ультра". Дж. Кернкросс как знаток немецкого языка был назначен редактором материалов перехвата.
В течение почти трех лет он каждую неделю передавал сотруднику лондонской резидентуры советской внешней разведки материалы дешифровальной службы Британии. Особенно он гордился тем, что переданные им шифры позывных фашистской авиации, вскрытые британскими спецслужбами, помогли советскому командованию уничтожить накануне сражения на Курской дуге значительную часть германских самолетов непосредственно на аэродромах.
В 1944 году Дж. Кернкросс был переведен в Лондон в штаб-квартиру СИС, где координировал работу британской разведки в Югославии. Поступавшая от него информация освещала планы и намерения Англии и США в этой стране.
После окончания войны Дж. Кернкросс вновь вернулся на работу в министерство финансов и до 1952 года передавал через А. Бланта секретные документы об экономическом положении Великобритании и ее внешнеэкономической политике.
В 1952 году в связи с разоблачением и бегством двух членов "Кэмбриджской пятерки" — Г. Берджеса и Д. Маклейна — Дж. Кернкросс попал под подозрение британских спецслужб, поскольку поддерживал с ними личные контакты. На допросах он категорически отрицал свою принадлежность к советской агентурной сети, признав, однако, что иногда передавал Г. Берджесу некоторые секретные документы, не зная о том, что тот являлся советским разведчиком.
В том же году Дж. Кернкросс в связи с этим делом был вынужден подать в отставку. Работал преподавателем в Канаде, затем перешел на службу в одно из представительств ООН в Риме. Последние годы жизни он провел на юге Франции, в Провансе.
В 1981 году, отвечая на вопросы в парламенте, премьер-министр Великобритании М. Тэтчер публично признала, что он являлся советским разведчиком. Она пояснила, что Дж. Кернкросс сознался в сотрудничестве с советской разведкой в обмен на гарантии, что он не будет преследоваться по суду.
В начале 1995 года Дж. Кернкросс возвратился с женой в Великобританию и поселился в Западной Англии. Он приступил к написанию мемуаров.
В октябре 1995 года Дж. Кернкросс умер.