Am 29. Juni 1846 wurde Butler zum Major General einer Freiwilligendivision der US Army berufen, die im Mexikanisch-Amerikanischen Krieg kämpfte. Er war stellvertretender Befehlshaber unter Zachary Taylor in der Schlacht von Monterrey, während der er verwundet wurde. Am 18. Februar 1848 löste er Winfield Scott als kommandierenden General der amerikanischen Armee ab; genau sechs Monate später schied er aus dem aktiven Dienst aus.