Entré dans l'armée en 1749, il commande l'armée du Bengale dès 1760[1]. En 1764-1765, il est le Commandant en chef des armées de l'Inde et réprime très violemment la première révolte des cipayes en exécutant les prisonniers attachés à la bouche des canons[2]. Le 23 octobre 1764, il remporte la bataille de Buxar sur une coalition réunissant le nabab du Bengale Mir Kasim, le nabab d’Oudh, d’autres chefs indiens et l’empereur moghol[3].
Il est élu au Parlement en 1768 à Inverness[4] et revient en Inde en 1778. Il reprend alors le commandement des armées. Les Français abandonnent Pondichéry mais Munro est battu en 1780 près de Conjeeveran par Haidar Alî[5].
Il rentre en Écosse en 1782 après la bataille de Negapatam et finit sa vie à Dingwall.
Dans son roman La Maison à vapeur où il est cité partie 1, chapitre II, Jules Verne en fait un ancêtre de son personnage Edward Munro, raison de la haine de Nana Sahib envers lui.