El general Joaquín de la Pezuela, que se encontraba en una estricta defensiva debido a la desmoralización de su ejército realista, gracias a los documentos caídos en su poder, se enteró de los planes de Belgrano. Gracias a ello planeó dos posibles opciones militares. Una primera posibilidad era resistir en sus posiciones los esperados ataques de Belgrano y Zelaya, plan que con seguridad a la larga le traería la derrota. Contra todo lo esperado, tomó una segunda opción, y avanzó por las montañas, presentando batalla en Vilcapugio el 1 de octubre.
Belgrano estableció su campamento en Vilcapugio, con frente al oeste, en dirección a Condo-Condo, con la espalda apoyada en las montañas que lo separaban de Chayanta. El 29 de setiembre se inició la marcha de las tropas realistas en busca del ejército patriota y el 19 de octubre comenzaron a descender sus efectivos hacia la llanura de Vilcapugio. A las tres de la tarde la batalla se había definido totalmente en favor de los realistas.
Reuniendo apenas unos 400 dispersos, muchos de ellos heridos, el jefe patriota resolvió retirarse hacia Cochabamba y Díaz Vélez fue encargado de agrupar en Potosí a los que hubiesen huido en aquella dirección.
La pérdida de los patriotas fueron 900 fusiles, 14 cañones, parque, víveres, equipos y municiones. Entre los muertos, figuraban Benito Álvarez, Bernal, Beldón, Villegas y otros jefes.
En el trayecto hacia Cochabamba se le reunió el coronel Balcarce con 100 jinetes del regimiento de caballería de línea del Perú.
El trayecto fue muy difícil y lleno de privaciones y penurias; a Cayne solamente llegaron 100 hombres; los demás habían quedado rezagados o desertaron.
Pero horas después el pequeño contingente se había elevado a 300 hombres; y Zelaya llegó a Chayanta el 19 de octubre con la división de Cochabamba.
Belgrano continuó la retirada y el 5 de octubre estableció en Macha el cuartel general y emprendió los trabajos de reorganización de sus tropas maltrechas en Vilcapugio. En la adversidad, Belgrano mostraba plenamente su carácter y su temple.
Pezuela se retiró a Condo-Condo después de la batalla para reorganizar sus tropas y aprovisionarlas para nuevas empresas. Convencido de que Belgrano se había dirigido a Potosí, envió en esa dirección, para perseguirlo, al batallón de cazadores de Olañeta y el de partidarios a las órdenes de Castro; éste llegó a Yocalla el 7 de octubre y obligó a Aráoz de Lamadrid a retirarse con 300 hombres que había reunido para reforzar a Díaz Vélez en Potosí. Pero reunidos Olañeta y Castro en Yocalla, comprendieron la dificultad del ataque a Potosí y se replegaron a Condo-Condo el 26 de octubre.