El desembarco en la bahía de Paracas, a unos 200 kilómetros al sur de Lima, de cuatro mil hombres argentinos y chilenos buscó acelerar y agudizar las tensiones internas del virreinato, a la vez que apoyar a las causas separatistas locales existentes. Entre octubre de 1820 y abril de 1821, gracias a la campaña proselitista de Álvarez de Arenales y al anuncio de la libertad de los negros esclavos si se unían al movimiento, el ejército sanmartiniano contó con sus primeros aliados peruanos. El posterior traslado a Huacho, en la costa norte, tuvo el mismo efecto de acelerar un proceso que hubiese demorado mucho tiempo. El 29 de diciembre la ciudad de Trujillo declaró su independencia y su apoyo a San Martín, luego Piura, Cajamarca, Chachapoyas, Jaén y Maynas hicieron lo mismo. Este proceso merece ser analizado cuidadosamente, pues las intenciones de hombres como el criollo limeño José Bernardo Tagle, marqués de Torre Tagle, intendente de Trujillo y principal gestor de la declaración de independencia en su localidad, aun no son claras. Para algunos investigadores la independencia de esas localidades fue producto no de la llegada del ejército sanmartiniano, sino de la voluntad popular por emanciparse de España; mientras que para otros académicos, debe verse el problema más como una cuestión de intereses económicos y políticos, como el caso mismo de Torre Tagle a quien le eran conocidas sus frustradas expectativas por ser nombrado en un cargo más alto.
Para 1820, San Martín había consolidado el norte peruano, Cochrane ejercía un bloqueo en el puerto del Callao y en la sierra central se organizaban montoneras en respaldo a la independencia, organizadas por sectores medios y comerciantes ligados a las minas de plata y al comercio local. Aun así, Lima permanecía como el bastión realista y las fuerzas realistas, militarmente, eran mucho más numerosas que las sanmartinianas. La estrategia de San Martín fue la de negociar con las autoridades virreinales y tranquilizar a la aristocracia local con planteamientos moderados, mientras esperaba la adhesión criolla a su causa. Los planteamientos de San Martín fueron los de instaurar un nuevo gobierno monárquico independiente bajo el mando de un miembro de la familia real española. La conversación entre realistas y sanmartinianos en Miraflores en setiembre de 1820 no llegó a mayores acuerdos, salvo confirmar el deseo de San Martín de causar el menor derramamiento de sangre posible. Mientras, la misión de Álvarez de Arenales logró organizar fuerzas insurgentes en la zona de la sierra central y Cochrane capturó la fragata Esmeralda en noviembre, con lo cual afianzó su dominio en el litoral.
Para este momento, ya algunas deserciones se habían producido del bando realista al libertador, lo que aumentó la desconfianza de los oficiales españoles frente a sus subordinados mestizos y criollos.
Las derrotas del ejército realista y la situación crítica del virreinato llevaron a que el ejército realista obligue al virrey Joaquín de la Pezuela a renunciar a favor del general José de la Serna. Nuevas conversaciones entre realistas y sanmartinianos se llevaron a cabo en la hacienda Punchauca en junio de 1821, en donde San Martín confirmó aun más su intención de establecer una monarquía constitucional independiente. La Serna evaluó su situación y decidió que Lima no era una plaza adecuada para defender el régimen colonial, pues los sanmartinianos eran más fuertes en la costa y salvo las guerrillas del centro, que dicho sea de paso ejercían una presión leve pero latente en Lima, las fuerzas realistas eran muy superiores en los andes. Además, luego del desastre económico de la elite criolla limeña y del nulo apoyo que ésta brindaba, los realistas prefirieron contar con los suministros y mano de obra que proporcionaba la sierra. Además, la militarización de la sierra sur desde la rebelión del Cuzco de 1814 y luego por las constantes represiones en el Alto Perú hacía de la zona un bastión realista. El 6 de julio los realistas partieron de la costa hacia Cuzco, donde establecieron su centro de operaciones. San Martín no autorizó el ataque a los realistas, acción sugerida por Álvarez de Arenales, y provocó que el ejército realista aplastara las montoneras y guerrillas organizadas.
La sorpresiva salida de La Serna de Lima dejó a la ciudad sin protección por cuatro días, en los cuales hubo manifestaciones violentas contra establecimientos comerciales de criollos. La entrada a la ciudad, sin resistencia, por parte de San Martín el 10 de julio fue por ello bien recibida por casi todos los sectores, menos por la elite que aun observaba con recelo a los libertadores. La aristocracia limeña tuvo que aceptar el proyecto libertador de San Martín, más obligada por las circunstancias que por decisión propia, mas no brindó mucho apoyo económico. De esa manera, la firma del acta de la Independencia el 15 de julio por parte de la aristocracia limeña y la posterior declaratoria el 28 del mismo mes fueron simples formalidades. La real independencia del Perú se lograría con la derrota de las tropas realistas acantonadas en los andes.