Longstreet sloužil s vyznamenáním v Mexiko-americké válce s 8. pěší. Bojoval pod Zachary Taylor jako poručík v květnu 1846 v bitvách u Palo Alto
a Resaca de la Palma. Obě tyto bitvy popsal ve svých pamětech, ale o své osobní roli v nich nic nenapsal. 10. června dostal Longstreet velení nad rotou A 8. pěchoty druhé divize Williama J. Znovu bojoval s Taylorovou armádou v bitvě u Monterrey v září 1846. Během bitvy přibližně 200 mexických kopí odráželo skupinu amerických vojáků. Longstreet, velitel společností A a B, vedl protiútok a zabil nebo zranil téměř polovinu kopířů. Dne 23. února 1847 byl povýšen do hodnosti prvního poručíka. Vrchní generál Winfield Scott nařídil Worthově divizi, aby opustila Taylorovu armádu a byla pod jeho přímým velením, aby se zúčastnila útoku na mexické hlavní město Mexico City. Worthova divize byla nejprve poslána na ostrov Lobos. Odtud se plavila 289,7 kilometrů na jih do města Veracruz. Worth vedl Scottovu armádu v jeho obojživelném přístupu do města a dorazil tam 9. března. Scott obléhal město a pravidelně ho bombardoval. Vzdal se 29. března. Americká armáda pak pochodovala na sever směrem k hlavnímu městu. V srpnu sloužil Longstreet v bitvě u Churubusca, která byla klíčovou bitvou, protože se americká armáda přiblížila k dobytí Mexico City. Osmá pěchota byla jedinou silou v Worthově divizi, která se dostala k mexickým zemním dělům. Longstreet nesl prapor pluku pod silnou mexickou palbou. Vojáci se ocitli uvízlí v příkopu a mohli překonat mexickou obranu jen tím, že stáli jeden na druhém. V zuřivém boji, který následoval, Američané zvítězili. Longstreet získal povýšení na kapitána za své činy v Churubuscu.