Most games are won with the total extermination of the enemy, but real life battles usually end with 5-10% of casualties with some rare deadly battles up to 30-50%. That's because real warfare is slow and it doesn't take much for people to lose morale and lose ground.
I'm trying to make a semi-historical game and I really want to respect this reality of war. So far, what I do is that only a fraction of your army can be sent in battle at once. That way, the combat can be kept deadly, but at the end of a battle, you only lose a little percentage of your total army strength. The problem is that you have to do a lot of battles before an enemy army is completely destroyed which feels very grindy.
How would you make battles rarely cause more than 5-10% causalities of an army, but keep a fast pace so that it doesn't get grindy and boring?