Toen de oorlog met Mexico uitbrak, werd Morgan kolonel van de 2e Ohio Vrijwillige Infanterie. Vervolgens werd hij in maart 1847 in dienst gesteld als kolonel van het 15e Amerikaanse infanterie onder generaal Winfield Scott. Om een einde te maken aan de guerrilla-oorlog en de moord op Amerikaanse soldaten, greep kolonel Morgan een aantal vooraanstaande Mexicaanse burgers en gaf een proclamatie af waarin werd aangekondigd dat voor elke Amerikaanse soldaat die door de guerrilla's werd gedood, een burger zou worden geëxecuteerd. De moorden stopten onmiddellijk. Hij werd in 1848 tot brigadegeneraal verheven voor zijn dapperheid in de veldslagen van Contreras en Churubusco.
, waar hij zwaar gewond raakte. Toen hij naar Ohio terugkeerde om te herstellen, ontving hij de formele dank van de wetgever van Ohio.