Джон Генри Уиндер принимал активное участие в Американо-мексиканской войне 1846—1848 годов. Участвовал в нескольких сражениях с мексиканскими войсками, в том числе при Контрерас и в Сражении при Чурубуско (За что получил временное звание майора). Участвовал в штурме Чапультепека и взятии Мехико. За храбрость при Мехико получил временное звание подполковника. 20 августа 1847 года был повышен до майора, 14 сентября того же года повышен в звании до подполковника. В ходе боевых действий был ранен при столкновении с мексиканскими войсками в районе Нью-Мехико и эвакуирован в штаты. 22 ноября 1860 года повышен в звании до майора.