Última invasión a Salta

En febrero de 1820 reemplazó al brigadier José Canterac como comandante de las fuerzas españolas en el Alto Perú y de inmediato se dedicó a organizar una nueva invasión a Salta

Invasión de Ramírez Orozco

En febrero de 1820, el brigadier general Canterac fue sustituido por el general Juan Ramírez Orozco como comandante de las fuerzas españolas en el Alto Perú. El 8 de mayo, Ramírez Orozco salió de Tupiza al mando de un ejército de 5000 hombres y avanzó sobre Jujuy, ocupando la ciudad el 28 de mayo y la ciudad de Salta el 31, llegando hasta el río Pasaje.

El 2 de junio, las fuerzas realistas lograron el triunfo en el combate de Chamical (al suroeste de la ciudad de Salta). En el combate de Las Cañas fue herido de muerte el teniente coronel Rojas, pero 400 realistas fueron derrotados.

El 8 de junio hubo una nueva victoria independentista en el combate de Cuesta de la Pedrera (al sureste de Salta), donde las fuerzas al mando de Alejandro Burela dispersaron a 2000 realistas que se retiraron a Jujuy.

En el combate de Yala fue derrotada otra fuerza realista y capturado el coronel Vigil. El 5 de julio los realistas se retiran a Tupiza.

En Salta, los jefes realistas tomaron conocimiento de que el 1 de enero de 1820, Rafael del Riego se había sublevado en Cabezas de San Juan (España), proclamando la restauración de la Constitución liberal de 1812. También se enteraron de que, en agosto, partiría desde Chile la expedición libertadora al Perú. En espera de los acontecimientos del Perú, Ramírez Orozco ordenó la retirada hacia Tupiza, llegando a mediados de junio.

El 12 de septiembre de 1820, fueron recibidas en Tupiza dos reales órdenes, despachadas el 7 de marzo: por una de ellas, mandaba el rey Fernando VII la jura de la Constitución de 1812; por la otra, ordenaba una amplia amnistía y devolución de bienes a todos los detenidos por razones políticas.

Durante ese mes la Expedición Libertadora del Perú de San Martín desembarcó en la costa peruana. Sintiéndose fuerte, Güemes empezó a llevar a cabo operaciones ofensivas con la intención de apoyar a San Martín invadiendo el Alto Perú.35​ En esos momentos las fuerzas realistas se hallaban divididas pero seguían siendo muy poderosas, 10 000 hombres apostados en Lima y alrededores y 8000 defendían las fronteras de Salta y el Alto Perú.

En octubre, mientras se realizaba la jura de la Constitución liberal en el Alto Perú, se conoció en Tupiza la noticia del desembarco del ejército al mando de San Martín en Pisco ―ocurrido el 8 de septiembre― y que el coronel Juan Antonio Álvarez de Arenales se internaba con una división a la sierra. Ramírez Orozco y Canterac iniciaron la marcha hacia el Perú con los batallones Chilotes (o Castro), Extremadura (o Imperial Alejandro) y del Centro, los escuadrones de la Guardia, Húsares de Fernando VII, Dragones de la Unión, partidarios y el de San Carlos. En Tupiza permaneció Olañeta, al mando de los batallones de la Unión, Partidarios y Cazadores y 80 hombres a caballo al mando de Juan Matorras.mando de Canterac, inició la marcha hacia el Perú, con la mayor parte del ejército. Quedó en el Alto Perú la división de Olañeta, con algunos jefes secundarios como José María Valdez, Francisco Javier Aguilera y Guillermo Marquiegui. Antes de retirarse por completo, hizo un último amago ofensivo, llegando a avanzar algunas leguas sobre la Puna, pero una de sus divisiones fue vencida en Rinconada, en noviembre de 1820, y se retiró al Perú.

 Ramírez Orozco

En octubre, mientras se realizaba la jura de la Constitución liberal en el Alto Perú, se conoció en Tupiza que el general José de San Martín había desembarcado el 8 de septiembre en Pisco, y que Álvarez de Arenales se internaba con una división a la sierra. Inmediatamente, Ramírez Orozco, acompañado de la reserva al mando de Canterac, inició la marcha hacia el Perú, con la mayor parte del ejército. Quedó en el Alto Perú la división de Olañeta, con algunos jefes secundarios como José María Valdez, Francisco Javier Aguilera y Guillermo Marquiegui. Antes de retirarse por completo, hizo un último amago ofensivo, llegando a avanzar algunas leguas sobre la Puna, pero una de sus divisiones fue vencida en Rinconada, en noviembre de 1820, y se retiró al Perú.