Go into your party screen. Can you tell us what your party morale is?
If not, you probably haven't been watching it. And if you can find it, and it's low, you had best increase it with a higher leadership, less troops, more food variety, and by winning more battles.
Also, throwing your troops against enemies of the same faction kills the morale of the guys who are fighting against their countrymen.