O nieprawdopodobnym wyczynie insurgentów dowiedział się także hiszpański generał José Maria Barreiro. Dysponował 3 tys. dobrze uzbrojonych żołnierzy, a więc siłą wystarczającą do pokonania powstańców. Mimo to wolał poczekać na posiłki. Tymczasem Bolivar dążył do walnej rozprawy, zanim wróg wzmocni swe siły.
Pierwsze starcie 12 lipca pod Gámeza zakończyło się porażką rewolucjonistów. Jednak już 25 lipca pod Pantano de Vargas górą byli żołnierze Libertadora. O zwycięstwie przesądził szaleńczy atak na położone wyżej pozycje wroga, który podał tyły, tracąc 700 żołnierzy i sporo broni. Po stronie powstańców straty były porównywalne, ale szybko uzupełniono je nowymi rekrutami. Teraz Wyzwoliciel ruszył na Tunję, gdzie kompletnie zaskoczył 600-osobowy hiszpański garnizon, który poddał się bez walki.
Bolivar był panem sytuacji. Mógł obserwować odwrót Barreiry do Bogoty i wybrać dogodny moment do ataku. Głównodowodzący rojalistów nie zdawał sobie sprawy z błyskawicznych działań przeciwnika i był przekonany, że pozostawił go daleko w tyle. Okrążywszy Tunję maszerował dalej. Wreszcie 7 sierpnia nieopodal mostu nad rzeką Boyacá pozwolił swym żołnierzom odpocząć po nużącym marszu. Był to niewybaczalny błąd, ponieważ czujne oczy Libertadora śledziły ruchy nieostrożnego generała.
Widząc rozwleczonych w kolumnę marszową Hiszpanów gotujących się do biwaku, Bolivar rzucił na nich natychmiast nieustraszonych llaneros wspartych przez podkomendnych Santandera. Zrazu hiszpańska awangarda bez większego trudu odparła ten atak, ale wraz z pojawianiem się kolejnych powstańczych oddziałów pędem wycofała się w kierunku mostu, do którego pędzili także ludzie Santandera. Hiszpanie pierwsi dotarli do przeprawy, zablokowali most i odpierali ataki Santandera. Tymczasem Bolivar z resztą sił realizował swój zabójczy plan. Legion Albionu śmiałym atakiem odciął hiszpańską kawalerię i oskrzydlił główną hiszpańską kolumnę. Od północy natarli konni llaneros i wkrótce okrążyli hiszpańską ariergardę. W tym czasie na siły główne Barreiry uderzyła piechota pod wodzą gen. José Anzoateguiego. Rewolucjoniści parli niepowstrzymanie nie tylko w centrum, ale także przy moście, gdzie Santander przełamał opór wroga.
Bitwa była przegrana, toteż Barreirze nie pozostało nic innego jak kapitulacja. Wraz z nim do niewoli poszło ok. 1600 Hiszpanów, a ok. 250 zginęło lub zostało rannych. Straty insurgentów były znacznie mniejsze – 66 zabitych i rannych. Patrioci w pełni wykorzystali moment zaskoczenia (Hiszpanie nie zdołali przegrupować kolumny marszowej w szyk bitewny) i wszystkie błędy przeciwnika.