La situación de Riva Agüero en Trujillo seguía sin resolverse. Tenía bajo su mando las tropas lideradas por Guise y Santa Cruz, y además consiguió el apoyo de los líderes guerrilleros de la zona al anunciar que su guerra era en contra del nuevo dominio extranjero. Sus aspiraciones eran las de la elite criolla que buscó un punto medio de restauración monárquica, así que entabló relaciones con La Serna, ofreciéndole un pacto y el mismo sistema de gobierno que le ofreció San Martín, una monarquía constitucional. Finalmente, Riva Agüero fue traicionado por sus propios hombres y desterrado hacia Panamá el 25 de noviembre de 1822, mientras que sus generales se unían a las tropas bolivarianas.
Mientras tanto, Bolívar decidió que a causa de la anarquía política no era posible defender la capital y decidió partir a Trujillo para iniciar el ataque final a los realistas. Las tropas fidelistas ocuparon nuevamente Lima desde febrero hasta diciembre de 1824, desatando una vez más una crisis política que esta vez incluyó la deserción del propio presidente de la república, Torre Tagle, al bando realista. El liderazgo patriota en Lima desapareció, la aristocracia recibió una vez más con los brazos abiertos a los españoles y Bolívar monopolizó todos los poderes, con lo cual el destino de la independencia del Perú quedaba enteramente en sus manos.
La primera acción del venezolano fue nombrar a José Faustino Sánchez Carrión como jefe de gobierno y reunir a sus fuerzas, las cuales llegaron a conformar un ejército de diez mil hombres. Sumado al ejército bolivariano se encontraban las guerrillas del centro que fueron asignadas al general Miller. En su intento de ingresar al valle del Mantaro, el ejército unido se encontró en las pampas de Junín con las tropas acantonadas de Canterac, librándose batalla el 6 de agosto de 1824. Lo que en un principio pareció una derrota militar bolivariana devino en victoria gracias a la intervención del escuadrón peruano Húsares del Perú, guerrilleros convertidos en fuerzas regulares liderados por Isidoro Suárez. Esta victoria hizo que las tropas realistas se acantonaran en el sur andino, último bastión fidelista en el Perú.
Bolívar dejó el mando de la tropa a Sucre y se dirigió a Lima para reconquistarla. Allí, el pánico ante la llegada del libertador se apoderó de los criollos y fidelistas, que se acantonaron en el fuerte Real Felipe del Callao, incluyendo el ex presidente Torre Tagle, quien luego moriría en dichas instalaciones. El sitio al Real Felipe por parte de Bolívar se inició el 7 de diciembre. Por otra parte el virrey La Serna se vio estratégicamente obligado a dar batalla, para lo cual reclutó un ejército de españoles, criollos, mestizos y castas, liderado por el general realista Valdés. Luego de unos movimientos tácticos, los dos ejércitos se encontraron el 9 de diciembre de 1824 en la pampa de Ayacucho. El ataque de las caballerías realistas fue frenado por las tropas patriotas en diversas ocasiones, dando la oportunidad de ataque a los generales Córdova y Miller. El confuso repliegue realista fue el corolario de la batalla. El virrey La Serna, presente en la batalla, fue herido y tomado prisionero, mientras que los realistas desertaban en masa. Canterac, en un último intento, trató de retirar sus tropas hacia el Alto Perú, pero el desorden hizo imposible tal tentativa. La capitulación de Ayacucho, sin embargo, fue excesivamente condescendiente a los realistas, que parecían antes vencedores que vencidos.
La pacificación del territorio continuó en el Alto Perú, mientras que en Arequipa la elite criolla nombraba a un nuevo virrey, curioso dato que revela una vez más la compleja situación social de la nueva república. Finalmente, la pacificación del altiplano vino de la mano de Sucre y Gamarra, mientras que el 25 de marzo la asamblea de Chuquisaca convocada por Sucre constituyó un país independiente con el nombre de Bolivia, separando definitivamente al Perú de dicho territorio.
El último bastión realista fue el Callao. El sitio al Real Felipe fue duro, así como la resistencia española en su interior, liderada por José Ramón Rodil, quien tenía bajo su cargo a 6000 realistas. El hambre, la sed y la peste se sucedieron, así como los intentos de amotinamiento que fueron aplacados violentamente por los realistas. El sitio se prolongó por más de un año, y recién el 8 de enero de 1826 Rodil aceptó negociar. La capitulación fue tan concesiva como la de Ayacucho, y la mayoría de los funcionarios y militares realistas se quedó en el país. De los 6000 refugiados sólo sobrevivieron 2400, en su mayoría civiles, miembros de las elites criollas.