A routed army is not yet defeated, technically. Not until the Last of its units has left the battlefield. It might even win, if the other army dies or routs too and get out first. One of my first battles was a double rout, the fastest one losing the battle
I have had a similar experience to yours : I had given Ermor a ince sphynx (500 hp pretender) and very high dominion (but no magic) before turning it over to the computer. Later on, I attacked, and spent the whole battle hacking at the sphynx, from all sides. I barely scratched him, and my army eventually retreated because of the time limit. Worse, I lost all the mercenaries that were in that battle

And all that against a totally harmless sphynx that just happened to have 30 protection and about 600 hp (dominion bonus)