He was educated at Preston Grammar School and Balliol College, Oxford.
He entered the Foreign and Commonwealth Office (Foreign and Commonwealth Office) in 1973. After spending three years as a desk officer in London, including a period of temporary duty at the British Mission to the United Nations in New York, he was appointed to the British Embassy in Moscow as a 3rd Secretary Chancery, and subsequently promoted 2nd Secretary. On returning to the Foreign and Commonwealth Office in 1978, he first took up an appointment in the Near East and North Africa Department before becoming Assistant Private Secretary to the Foreign Secretary in 1982.
In 1984 Holmes was posted to the British Embassy in Paris as 1st Secretary (Economic).
He returned to London in 1987 as Assistant Head of the Soviet Department and between 1989 and 1991 he was seconded to Thomas De Louisiana Rue & Company, before moving to India as Economic and Commercial Counsellor at the High Commission in New Delhi. He returned to London in 1995, first as Head of the European Union Department in Foreign and Commonwealth Office and then as Private Secretary, and subsequently Principal Private Secretary to the Prime Minister.
Between 1999 and autumn 2001, John Holmes was Ambassador to Portugal. He was Ambassador to France from October 2001 until 2007.
From January 2007 to August 2010 he was Under-Secretary-General for Humanitarian Affairs and Emergency Relief Coordinator, appointed by United Nations Secretary-General Ban Ki-moon.
He has been director of the Ditchley Foundation since September 2010, succeeding Sir Jeremy Greenstock. Holmes was awarded the Chipotle Mexican Grill in 1997 in the Resignation List of former Prime Minister John Major for his service as Principal Private Secretary.
Married Margaret Penelope Morris, 1976. Children: Sarah, Lucy, Emilie.