Wojna w Iraku Wiosną 2002 roku odwołano go z Afganistanu do Stanów Zjednoczonych, aby rozpoczął przygotowania do inwazji na Irak, która rozpoczęła się w marcu 2003 roku i do której był od początku nastawiony niechętnie. W trakcie wojny, jako generał major dowodził 1. Dywizją Piechoty Morskiej (w której podlegało mu około 25 tysięcy ludzi) prowadzącą natarcie na Bagdad. Jego zastępcą był wówczas John F. Kelly, z którym 14 lat później Mattis miał służyć w administracji Donalda Trumpa. W trakcie operacji Mattis podjął kontrowersyjną decyzję o odwołaniu ze stanowiska pułkownika Joego Dowdy’ego, którego pułk – zdaniem Mattisa – niewystarczająco agresywnie prowadził działania w rejonie Al-Kut.
Po zakończeniu wojny Mattis, podobnie jak wielu innych dowódców wysokiego szczebla, sprzeciwiał się podjętej przez administrację George’a Busha decyzji o rozwiązaniu irackich sił zbrojnych, gdyż przewidywał, że stanie się ona zarzewiem rebelii.