John Buchan est né à Perth en Ecosse le 26 août 1875.

D'un père pasteur méthodiste et d'une mère appartenant à une famille de fermiers et d’éleveurs de moutons, John Buchan obtient une bourse pour faire des études de droit à Glasgow puis à Oxford.

Il se rend à l'âge de vingt ans à Londres pour y exercer le métier d'avocat.

Devenu en 1901 le secrétaire particulier de Lord Milner, il accompagne celui-ci en Afrique du Sud en pleine guerre des Boers et s'y voit confier la responsabilité médicale des camps de réfugiés.

De retour à Londres, John Buchan travaille chez l’éditeur Nelson. Correspondant de guerre en France pour le "Daily News" durant la Première Guerre mondiale, il entre en 1916 dans les services secrets britanniques.

Parallèlement à ses activités professionnelles, il écrit de nombreux ouvrages de poésie, d'histoire et de fiction, créant en 1915 le personnage de Richard Hannay.

En 1927, John Buchan devient député de Grande-Bretagne, puis est nommé en 1935 gouverneur général du Canada, recevant le titre de premier baron de Tweedsmuir.

John Buchan meurt accidentellement à Montréal le 11 février 1940.