Han blev forfremmet til midlertidig [[major]] efter [[Slaget ved Cerro Gordo]] den [[18. april]] [[1847]].<ref>{{cite web|access-date=2008-05-20|url=http://penelope.uchicago.edu/Thayer/E/Gazetteer/People/Robert_E_Lee/FREREL/1/15*.html#p248|title=A Day Under a Log Contributes to Victory  |publisher=[[University of Chicago]]}}</ref> Han kæmpede også i [[Slaget ved Contreras]], [[Slaget ved Churubusco]] og [[Slaget ved Chapultepec]], og blev såret i det sidste. Ved krigens slutning var han foreløbigt forfremmet yderligere to gange til [[oberstløjtnant]] og [[oberst]], men hans permanente rang var fortsat kaptajn i ingeniørkorpset, og den forblev uforandret, indtil han blev overført til kavaleriet i [[1855]].
Tidligere_riger,_stater,_protektorater,_kolonier_og_lande