Kiedy wybuchła wojna z Meksykiem, Morgan został pułkownikiem II Regimentu Ochotniczej Piechoty Ohio. Następnie został mianowany pułkownikiem 15 Pułku Piechoty USA w marcu 1847 roku, służąc pod dowództwem generała Winfielda Scotta. Aby położyć kres wojnie partyzanckiej i morderstwom amerykańskich żołnierzy, pułkownik Morgan aresztował kilku wybitnych meksykańskich obywateli i ogłosił, że za każdego amerykańskiego żołnierza zabitych przez partyzanci, zostanie stracony jeden obywatel. Morderstwa natychmiast ustały. W 1848 r. otrzymał stopień generała brygady za odwagę w bitwach pod Contreras i Churubusco.
, gdzie został ciężko ranny. Po powrocie do Ohio, otrzymał oficjalne podziękowania od ustawodawcy Ohio.