Når krigen brød ud med Mexico, blev Morgan udnævnt til oberst i 2. Han blev efterfølgende udnævnt til oberst i den 15. amerikanske infanteriregiment i marts 1847, hvor han tjente under general Winfield Scott. For at sætte en stopper for geriljakrigene og drabene på amerikanske soldater, greb oberst Morgan en række fremtrædende mexicanske borgere og udstedte en proklamation der meddelte at for hver amerikansk soldat der blev dræbt af geriljaerne, ville en borger blive henrettet. Mordene ophørte med det samme. Han blev breveted til brigadegeneral i 1848 for hans tapperhed i slagene ved Contreras og
Churubusco, hvor han blev alvorligt såret. Da han vendte tilbage til Ohio for at komme sig, modtog han den formelle tak fra Ohios lovgiver.