Longstreet serviu com distinção na Guerra Mexicano-Americana, junto com o 8º Regimento de Infantaria. Ele serviu sob o general Zachary Taylor nas batalhas de Palo Alto, Resaca de la Palma, Monterrei, Contreras, Churubusco e Chapultepec, sendo ferido na coxa nesta última. Longstreet levava a bandeira do regimento quando foi atingido, passando o bastão para o seu amigo, o tenente George Pickett. Seu ferimento demorou a sarar e ele mais tarde voltou para casa para ver sua esposa. Em 1847, após a Batalha de Molino del Rey, foi promovido ao posto de major.