Longstreet służył z wyróżnieniem w wojnie meksykańsko-amerykańskiej z 8. piechotą. Walczył pod Zachary Taylor jako porucznik w maju 1846 w bitwie pod Palo Alto.
i Resaca de la Palma. Opowiedział o obu bitwach w swoich wspomnieniach, ale nie napisał nic o swojej osobistej roli w nich. 10 czerwca Longstreet otrzymał dowództwo kompanii A ósmego oddziału piechoty drugiej dywizji Williama J. Worth'a. Ponownie walczył z armią Taylora w bitwie pod Monterrey we wrześniu 1846 roku. Podczas bitwy około 200 meksykańskich lancerzy wyparło grupę amerykańskich żołnierzy. Longstreet, dowodzący kompanii A i B, przeprowadził kontratak, zabijając lub raniąc prawie połowę lancerzy. 23 lutego 1847 został awansowany do stopnia pierwszego porucznika. Generał naczelny Winfield Scott rozkazał dywizji Worth z armii Taylora i pod jego bezpośrednim dowództwem, aby wziąć udział w ataku na meksykańską stolicę Mexico City. Dywizja Wartha została wysłana najpierw na wyspę Lobos. Stamtąd odpłynęła 289,7 kilometra na południe do miasta Veracruz. Worth poprowadził armię Scotta w jego amfibicznym podejściu do miasta, przybywając tam 9 marca. Scott oblegał miasto i regularnie je bombardował. Poddał się 29 marca. Amerykańska armia ruszyła na północ w kierunku stolicy. W sierpniu Longstreet uczestniczył w bitwie pod Churubusco, kluczowej bitwie, gdy armia amerykańska zbliżała się do zdobycia Mexico City. Ósma Piechota była jedyną siłą w dywizji Wartha, która dotarła do meksykańskich kopalni. Longstreet niósł sztandar pułku pod ostrzałem Meksykanów. Żołnierze znaleźli się w rowie i mogli pokonać meksykańską obronę tylko stając jeden na drugim. W ostrej walce, która nastąpiła, zwyciężyli Amerykanie. Longstreet otrzymał awans na kapitana za swoje działania w Churubusco.