Whistler va servir en la Guerra Mexicano-Americana, de 1846 a 1848, participant en el setge de Veracruz, del 9 al 29 de març de 1847, la Batalla de Cerro Gordo, del 17 al 18 d'abril de 1847, la Batalla de Contreras, del 19 al 20 d'agost de 1847, la Batalla de Churubusco
, 20 d'agost de 1847. Va ser nomenat primer tinent el 20 d'agost de 1847 per "conduita valenta i meritoriosa" a les batalles de Contreras i Churubusco, Mèxic.