En 1814, habiendo sido instrumental en el establecimiento de un congreso elegido por el pueblo en Argentina, José de San Martín comenzó a considerar el problema de expulsar a los realistas españoles de América del Sur por completo. Se dio cuenta de que el primer paso sería expulsarlos de Chile, y para ello se dedicó a reclutar y equipar un ejército. En poco menos de dos años, tenía un ejército de unos 6.000 hombres, 1.200 caballos y 22 cañones.
El 17 de enero de 1817, partió con esta fuerza y comenzó el cruce de los Andes. La cuidadosa planificación de su parte había significado que las fuerzas realistas en Chile se desplegaron para enfrentar amenazas que no existían, y su cruce no tuvo oposición. Sin embargo, el Ejército de los Andes (como se llamaba a la fuerza de San Martín) sufrió grandes pérdidas durante la travesía, perdiendo tanto como un tercio de sus hombres y más de la mitad de sus caballos. San Martín se encontró aliándose con el patriota chileno Bernardo O’Higgins, quien comandaba su propio ejército.
Los realistas se precipitaron hacia el norte en respuesta a su aproximación, y una fuerza de unos 1.500 al mando del Brigadier Rafael Maroto bloqueó el avance de San Martín en un valle llamado Chacabuco, cerca de Santiago. Ante la desintegración de las fuerzas realistas, Maroto propuso abandonar la capital y retirarse hacia el sur, donde podrían resistir y obtener recursos para una nueva campaña. La conferencia militar convocada por el Gobernador Real Mariscal de Campo Casimiro Marcó del Pont el 8 de febrero adoptó la estrategia de Maroto, pero a la mañana siguiente, el Capitán General cambió de opinión y ordenó a Maroto que se preparara para la batalla en Chacabuco.
La noche anterior al enfrentamiento, Antonio de Quintanilla, que más tarde se distinguiría extraordinariamente en la defensa de Chiloé, confió a otro funcionario español su opinión sobre la estrategia mal elegida: Dada la posición de los insurgentes, las fuerzas realistas deberían retirarse unas leguas hacia las colinas de Colina. «Maroto escuchó esta conversación desde una habitación cercana y o bien no pudo o se negó a escucharme por su orgullo y autoimportancia, llamó a un asistente con su notoria voz ronca y proclamó un decreto general bajo pena de muerte, a quien sugiriese una retirada.»
Todo lo que Maroto y sus tropas tuvieron que hacer fue retrasar a San Martín, ya que sabía que había más refuerzos realistas en camino de Santiago. San Martín también era consciente de esto y optó por atacar mientras todavía tenía la ventaja numérica.