Longstreet deltog med udmærkelse i den mexicansk-amerikanske krig med 8. infanteriregiment. Han kæmpede under Zachary Taylor som løjtnant i maj 1846 i slagene ved
Palo Alto og Resaca de la Palma. Han fortalte om begge disse kampe i sine erindringer, men skrev intet om sin personlige rolle i dem. Den 10. juni fik Longstreet kommandoen over kompagni A af William J. Worths 2. division. Han kæmpede igen med Taylors hær i Slaget ved Monterrey i september 1846. I løbet af slaget drev omkring 200 mexicanske lansere en gruppe amerikanske tropper tilbage. Longstreet, der kommanderede kompagnier A og B, ledte et modangreb og dræbte eller sårede næsten halvdelen af lancererne. Den 23. februar 1847 blev han forfremmet til rang af første løjtnant. General-in-Chief Winfield Scott beordrede Worth's division ud af Taylors hær og under hans direkte kommando for at deltage i et angreb på den mexicanske hovedstad Mexico City. Worth' division blev sendt først til Lobos Island. Derfra sejlede den 289,7 kilometer sydpå til byen Veracruz. Worth førte Scotts hær i sin amfibi-tilnærmelse til byen og ankom der den 9. marts. Scott belejrede byen og bombarderede den jævnligt. Den overgav sig den 29. marts. Den amerikanske hær marcherede derefter nordpå mod hovedstaden. I august deltog Longstreet i slaget ved Churubusco, et afgørende slag, da den amerikanske hær kom tættere på at erobre Mexico City. Det 8. infanteri var den eneste styrke i Worth's division, der nåede frem til de mexicanske jordværker. Longstreet bar regimentets banner under kraftig mexicansk ild. Soldaterne befandt sig fast i en grøft og kunne kun overskride det mexicanske forsvar ved at stå på hinanden. I den voldsomme hånd-til-hånd kamp der fulgte, sejrede amerikanerne. Longstreet blev forfremmet til kaptajn for sine handlinger ved Churubusco.