Bad Axe's Grim Tales mass combat rules are a bit more complicated than what I'm about to post, but I simplified it down to this:
Each unit has a Battle Rating (BR). It is determined the way you'd determine the EL of a large encounter; a unit of 64 1st level soldiers would be BR 13; if there were also 16 5th level soldiers, four CR 9 monster allies, and a 13th level commander, the unit would be BR 17).
A unit has a Defense equal to 10 + BR.
When two units fight, each side rolls d20 plus their BR. Good tactics or favorable terrain and such can grant a +2 modifier. If you beat your opponent's Defense, his BR is reduced by 2 from various losses and expenditure of resources. For every 5 you win by, you reduce his BR by a further 2. Each engagement has just one roll. The time it represents is abstract, but after each roll, each unit has a chance to disengage and withdraw, or they can keep on fighting.
(In some cases, one unit might simply not be able to damage the other, like if a unit of archers on hippogriffs attack a ground unit with no ranged attacks. In these cases, the ground unit would want to retreat. Then you'd have to make up some rules for chases involving entire armies.)
There could be all sorts of added features, like if you want to handle splitting a force into multiple groups, or how magic affects armies, but the basics above are really quick and easy.