La situación de San Martín no era envidiable; la población peruana no dis¬ponía de elementos para constituir un gobierno; el ejército no contaba con bastantes elementos para continuar la guerra en escala activa; había perdido además un 25 % de los efectivos por causa de las fiebres malignas de la costa y las bajas habían sido cubiertas con reclutas que carecían de instrucción militar; cuando entró en Lima no contaba con más de 3.000 hombres en condiciones para combatir regularmente.
La guarnición del Callao sumaba 2.000 hombres y obligaba a los independientes a mantener efectivos importantes en el asedio. Debía desechar, pues, las operaciones ofensivas; quizá había comprendido que puso demasiadas ilusiones en la repercusión moral de la entrada en Lima, pues, aunque la población aplaudió a los libertadores, no proporcionó ni elementos ni hombres para aumentar los ejércitos de la independencia; la sublevación de la sierra había sido de carácter local y los contingentes que había reclutado Álvarez de Arenales lo abandonaron cuando quiso regresar a la costa con ellos. Y los guerrilleros que operaban en las cercanías de la capital prefirieron continuar obrando por su cuenta, sin someterse a la disciplina militar del ejército.
En esas circunstancias, San Martín tuvo que mantener una pasividad forzosa, a la espera de los acontecimientos y sobre todo a la espera del progreso de Simón Bolívar en Ecuador para combinar la futura acción con él y reforzar así los ejércitos independientes.
Gerónimo Valdés viajó a América junto a José de la Serna e Hinojosa en 1816. En complot con otros militares, colaboró con la destitución del Virrey del Perú, Joaquín de la Pezuela, por De la Serna. Llegó a ser Mariscal de Campo, destacando por sus acciones en las batallas de Torata y Corpahuaico. Tras el desastre de Ayacucho, regresó a España vía Francia en 1824.
Las dificultades de San Martín fueron aprovechadas por La Serna para dirigir una expedición sobre Lima, donde la población española predominaba y estaba muy ligada a la vieja estructura colonial, mostrando muy escaso entusiasmo y disposición para la independencia.
La operación de Lima, examinada por una junta de guerra, en el campo realista, fue desechada; el virrey creyó entonces más adecuada la idea de trasladar la guarnición del Callao a Jauja, sacando de la plaza todo el material de guerra posible y destruyendo lo que no se pudiese transportar. Se convino finalmente el envío de una expedición al Callao, la cual atacaría al ejército patriota en Lima si se presentaban perspectivas favorables para ello; en caso de victoria, la expedición ocuparía Lima, impondría fuertes contribuciones a los que hubiesen jurado la independencia, sacaría de la Casa de moneda los cuños de pesos y medios pesos, los operarios, etc., proveería a los defensores del Callao de víveres para cuatro meses y, en el caso de que eso no fuese posible, se retiraría la guarnición de la fortaleza con todo el armamento, vestuario y equipos, después de demoler los fuertes, volar su artillería y hundir todo buque de la flota que pudiese ser de utilidad al enemigo.
Durante la guerra de independencia, El Callao fue una plaza de gran importancia, porque no sólo controlaba el tráfico de mercaderías sino también el uso de la flota militar, en ese sentido cambió de manos varias veces, siendo en el año 1821 que se realiza la primera toma del Castillo del Real Felipe por parte del ejército independentista al mando del General José de San Martín.
La expedición se formó con 4.000 hombres de todas las armas, además de las milicias para la conducción y protección de los bagajes; el mando fue confiado al general Canterac, cuyo jefe de estado mayor era el coronel Gerónimo Valdés. Esa fuerza se puso en marcha a fines de agosto y avanzó por la quebrada de San Mateo, llegando a la hacienda de la Tuna el 2 de setiembre. Una partida de guerrilleros hostilizó a la vanguardia y le causó numerosas bajas y apresó a su jefe, el teniente coronel José García Sócoli, después de lo cual se retiró.
El 4 de setiembre, mientras San Martín asistía a una representación teatral, fue informado de los movimientos del enemigo; inmediatamente despachó patrullas de observación para vigilarlo. Llamó al pueblo a las armas, convocó las milicias cívicas y requirió de Cochrane el armamento portátil que hubiese a bordo de las naves de la escuadra para armarlas, junto con las tropas de desembarco, auxilio que el almirante rehusó con vanos pretextos. Las milicias cubrieron las murallas de la ciudad y vigilaron los caminos de acceso y San Martín se dirigió con el ejército al sur de Lima para tomar posiciones al norte del río Surco.
Sumaban sus efectivos 4.130 hombres, una de cuyas divisiones se hallaba frente al Callao; la artillería disponible era de 6 piezas de campaña y dos obuses. El ejército de Canterac prosiguió la marcha por trayectos penosos que le ocasionaron algunas bajas y numerosos enfermos; pero el 7 de setiembre llegó a Pampa Grande, a corta distancia del río Surco.
La derecha de los independientes se extendía hasta el camino que unía Lima con San Borja y Valverde; la izquierda se apoyaba en un recodo del río frente a Monterrico Grande; la caballería se situó inmediatamente a la retaguardia del ala derecha y la reserva a la altura de Pino. Quedaba en descubierto un amplio frente entre el flanco derecho y el mar donde existía el mejor terreno para cualquier maniobra; además, el puente sobre el río que conducía al Callao se hallaba libre.
Canterac aprovechó ese aparente descuido, pasó el río el 9 de setiembre y avanzó hacia la pampa de San Borja, en tres columnas; pero en ese instante las unidades patriotas hicieron una conversión y dieron frente a los realistas con notable rapidez; seguramente había sido prevista esa maniobra, que dirigió Las Heras siguiendo instrucciones; la caballería patriota se situó sobre el ala norte de las fuerzas realistas, que quedó en situación de inferioridad y sin poder realizar el ataque proyectado so pena de correr serios riesgos.
Canterac esperaba que San Martín se arrojase sobre sus tropas, mas permaneció inmóvil todo el día; pero al anochecer, movió su dispositivo más al noroeste. Al amanecer del día 10, Canterac advirtió que su posición se hallaba en peligro; la línea enemiga se extendía hasta el camino que une el Callao con Lima, sobrepasando el flanco realista. Canterac trató entonces de retirarse hacia la Magdalena y, para proteger el repliegue, su caballería avanzó un corto trecho hacia las líneas patriotas, simulando un ataque. Mientras los nueve escuadrones enemigos avanzaban hacia las posiciones de San Martín, éste se encontraba rodeado por sus jefes y por el almirante Cochrane que había llegado a caballo. Todos, incluso Cochrane, propusieron al comandante en jefe el contraataque, pero éste se rehusó a dar las órdenes pertinentes. Cochrane insistió, y se ofreció a conducir la caballería patriota. San Martín respondió fríamente: "Mis medidas ya están tomadas. Yo sólo soy responsable de la suerte del Perú". Fue la última vez que el almirante se encontró con San Martín.
La caballería de Canterac avanzó un poco más y luego volvió grupas; se dirigió a la chacra de San Isidro, y, pasó por la Magdalena para convertirse en retaguardia de la columna realista.
Al ver aquella maniobra, San Martín se volvió a Las Heras, que estaba a su lado:
"Están perdidos. El Callao es nuestro. No tienen víveres para quince días. Los auxiliares de la sierra se los van a comer. Dentro de 8 días tendrán que rendirse o ensartarse en nuestras bayonetas".
Se cumplía el plan previsto por el comandante en jefe, Canterac cayó en la trampa que le había preparado San Martín.
El 11 de setiembre, al amanecer, las columnas realistas llegaron a la plaza del fuerte; cuando el ejército de la sierra se encerró en la fortaleza, se aproximó el ejército patriota y quedó en La Legua o Tambo de los Mirones, donde interceptó todo movimiento eventual del enemigo hacia la capital.