John McKinnon was educated in New Zealand at Nelson College and at Victoria University of Wellington, and in the United Kingdom at the London School of Economics and Political Science. He joined the then Ministry of Foreign Affairs in New Zealand in May 1974. In 1975 he was sent to Hong Kong to undertake two years of Chinese language training, following which he was assigned to the New Zealand Embassy in Beijing as second secretary.
His subsequent overseas assignments with the New Zealand foreign service were in Washington, Canberra and New York (this last in the 1990s when New Zealand was serving a term on the United Nations Security Council). John McKinnon was the Director of the External Assessments Bureau in the Department of the Prime Minister and Cabinet from 1995 to 2000.
John McKinnon served twice as New Zealand ambassador to China and Mongolia, the first time from 2001 to 2004; the second time from 2015 to 2018. In between these two postings he was successively a senior official in the Ministry of Foreign Affairs and Trade, Secretary of Defence, and Executive Director of the Asia New Zealand Foundation. John McKinnon is now a Senior Fellow of the Centre for Strategic Studies, Victoria University.