Los españoles habían fortificado el único acceso a Salta, el Portezuelo, para imposibilitar cualquier tipo de ataque por parte de los patriotas rioplatenses. La única forma que podrían hacerlo era mediante cierta ayuda de los lugareños del norte. Y así ocurrió. El capitán salteño Apolinario Saravia orientó al Ejército del Norte para atravesar la ciudad, sorteando el enfrentamiento de los soldados realistas.

Sin embargo, el peruano Juan Pío Tristán, quien luchaba para los realistas y había tomado conocimiento del avance de los patriotas, se adelantó un día antes a la batalla para impedir la resistencia.

Finalmente, en la mañana del 20 de febrero comenzó el enfrentamiento. Durante la primera parte del conflicto, se dice, el ejército español dominó el campo de batalla debido al empinado terreno de Castañares que debían recorrer las tropas rioplatenses. Belgrano, por su parte, ordenó que una reserva de infantería –liderada por Manuel Dorrego–, reforzara el acceso a la región salteña.

Así, lograron romper la línea enemiga y llegaron a la ciudad. Los realistas, acorralados en la Plaza Mayor, decidieron rendirse al son de las campanas de la Iglesia de la Merced.

La Batalla de Salta, y antes la de Tucumán, fueron dos capítulos fundamentales en la lucha por la independencia rioplatense, y siempre se la recordará como la primera vez que el Ejército del Norte batalló con una de las insignias nacionales: la bandera argentina.