Completa la seguente frase: Longstreet ha servito con distinzione nella guerra messicano-americana con l'8° fanteria degli Stati Uniti. Ha combattuto sotto Zachary Taylor come tenente nel maggio 1846 nelle battaglie di
Palo Alto e Resaca de la Palma. Ha raccontato entrambe queste battaglie nelle sue memorie, ma non ha scritto nulla sul suo ruolo personale in esse. Il 10 giugno, a Longstreet fu dato il comando della Compagnia A dell'Ottava Fanteria della Seconda Divisione di William J. Worth. Combatté di nuovo con l'esercito di Taylor nella battaglia di Monterrey nel settembre 1846. Durante la battaglia, circa 200 lancieri messicani respinsero un gruppo di truppe americane. Longstreet, al comando delle compagnie A e B, condusse un contrattacco, uccidendo o ferendo quasi la metà dei lancieri. Il 23 febbraio 1847 fu promosso al grado di primo tenente. Il generale in capo Winfield Scott ordinò alla divisione di Worth di uscire dall'esercito di Taylor e sotto il suo comando diretto per partecipare ad un assalto alla capitale messicana di Città del Messico. La divisione di Worth fu inviata prima sull'isola di Lobos. Da lì navigò per 289,7 chilometri a sud fino alla città di Veracruz. Worth guidò l'esercito di Scott nel suo approccio anfibio alla città, arrivando lì il 9 marzo. Scott assediò la città e la sottoponne a regolari bombardamenti. Si arrese il 29 marzo. L'esercito americano poi marciò a nord verso la capitale. Nell'agosto, Longstreet partecipò alla battaglia di Churubusco, una battaglia cruciale mentre l'esercito statunitense si avvicinava alla cattura di Città del Messico. L'8° fanteria fu l'unica forza della divisione di Worth a raggiungere i terremoti messicani. Longstreet portò la bandiera del reggimento sotto il pesante fuoco messicano. Le truppe si ritrovarono bloccate in un fossato e potevano scavalcare le difese messicane solo stando una sopra l'altra. Nel feroce combattimento corpo a corpo che ne seguì, gli americani prevalsero. Longstreet ricevette una promozione brevetto a capitano per le sue azioni a Churubusco.