Desembarcaron al día siguiente y emprendieron la marcha sobre Portobelo, arrollando las avanzadas españolas en el camino, y tomando posiciones dominantes cerca del castillo de Santiago.
A la mañana siguiente se disponía MacGregor iniciar el ataque sobre la fortaleza, pero supo que el Gobernador, Juan M. Van Herch, con la guarnición había abandonado la plaza durante la noche, lo que le permitió entrar en la ciudad sin ninguna oposición.
Hore resolvió atacar el 30, a cuyo efecto dividió el ejército en dos columnas mandadas respectivamente por el Coronel de Diego y por el Teniente coronel José Santa Cruz.
La plaza fue sorprendida en la madrugada del citado día, pudiendo Santa Cruz adueñarse del edificio de la Aduana, donde cayeron prisioneros o fueron muertos varios oficiales, pero MacGregor consiguió huir, al lanzarse al agua, y ganar a nado los buques, salvándose.
Hore regresó con el ejército vencedor a la capital, donde se le hizo un caluroso recibimiento.