El virrey La Serna aprovechó el armisticio de Punchauca para iniciar la evacuación de la capital, enviando una primera división a Huancavéli y al mando de Canterac. San Martín había retrogradado de Huacho a Ancón, con lo cual el virrey estaba a salvo de un ataque de los independientes, que habría podido ser decisivo, pues no disponía más que de 2.000 hombres en la capital.
El asedio se hacía sentir peligrosamente y patriotas peruanos llegaban al campamento de San Martín para que acelerase la toma de la ciudad. Pero San Martín sabía cuáles eran los planes del virrey y no quiso precipitarse ni apelar a la lucha extrema, pues su deseo era entrar en Lima como libertador y no como conquistador.
Naturalmente, esa conducta permitía al enemigo retirarse a la sierra sin ser molestado; allí podría reorganizarse y reunir fuerzas que prolongarían la guerra y alejarían el triunfo definitivo. Con el asedio que podían emprender por el sur las partidas y guerrillas sueltas de los patriotas peruanos, la rendición de Lima era inevitable y la propia población limeña habría sido el mejor factor del triunfo al ser acosada por el hambre.
Es posible que San Martín tuviese en cuenta también otros elementos de juicio; la independencia del Perú era inevitable y el tiempo era para él su mejor aliado; quería alcanzar sus objetivos con el menor derramamiento posible de sangre.
Por otra parte, la situación continental había mejorado; el 24 de junio Bolívar había obtenido en Carabobo, una victoria definitiva contra las tropas del general Morillo, y con ella aseguró la independencia de Colombia. No quedaban ya más que dos focos de resistencia: el de Quito y el del Perú. El último, el más importante, estaba en declive, si no vencido. Lo que importaba ya era esperar y combinar las operaciones de los ejércitos de Colombia y los chileno-argentino-peruanos para obtener el triunfo final.
José de Canterac fue nombrado por el virrey Jefe del Estado Mayor General del Ejército en reemplazo del mariscal José de la Mar. Al igual que otros altos oficiales del ejército real tomó parte en la deposición del virrey Pezuela y ese mismo año dirigió la retirada a la Sierra después de la Conferencia de Punchauca, en la que había participado. En septiembre de 1821 expedicionó al las sitiadas fortalezas del Callao de las cuales extrajo hombres y armamentos para luego retirarse nuevamente a sus cantones en la sierra.
En esa perspectiva, San Martín no quería arriesgar sus fuerzas, que no eran momentáneamente superiores más que en apariencia, pues el enemigo contaba todavía con un instrumento de combate eficiente y bien dirigido por mandos de excelente calidad. Entre librar batallas que no garantizasen un resultado aplastante y dejar que el tiempo completase la obra iniciada, optó por lo último.
La Serna evacuó la capital el 6 de julio y dejó en ella al marqués de Montemira, para que hiciese entrega de la misma a San Martín, encomendando a su generosidad los enfermos del ejército que quedaban en los hospitales. En el Callao dejó una guarnición de 2.000 hombres al mando del general José La Mar, con víveres para un par de meses y la promesa de reforzarla y proporcionarle recursos en breve.