Ko je izbruhnila vojna z Mehiko, je Morgan postal polkovnik 2. Marca 1847 je bil imenovan za polkovnika 15. ameriške pešadijske enote pod poveljstvom generala Winfielda Scotta. Da bi končal gverilsko vojno in umore ameriških vojakov, je polkovnik Morgan ujel več uglednih mehiških državljanov in izdal razglasitev, da bo za vsakega ameriškega vojaka, ki ga bodo ubili gverilci, usmrčen en državljan. Umori so se takoj ustavili. Leta 1848 je postal brigadni general zaradi svojih junaških dejanj v bitkah za Contreras in
Churubusco, kjer je bil hudo ranjen. Ko se je vrnil v Ohio, da bi okreval, je prejel uradno zahvalo zakonodajalca iz Ohia.