Když vypukla válka s Mexikem, Morgan byl jmenován plukovníkem 2. dobrovolné pěchoty Ohio. Následně byl v březnu 1847 pověřen plukovníkem 15. americké pěchoty a sloužil pod generálem Winfieldem Scottem. Aby ukončil partyzánskou válku a vraždu amerických vojáků, plukovník Morgan zatkl řadu prominentních mexických občanů a vydal prohlášení, že za každého amerického vojáka zabitého partyzány bude popraven jeden občan. Vraždy se okamžitě zastavily. Byl povýšen na brigádního generála v roce 1848 za jeho statečnost v bitvách u Contreras a
Churubusco, kde byl těžce zraněn. Když se vrátil do Ohia, aby se zotavil, obdržel formální poděkování od zákonodárce Ohia.