I found a game breaking bug (hence 4 stars)
Get a group of ghosts (i made it with 20) then use them to absorb the enemy units (preferably a pack of peasants). They supposedly last three turns until you lose them but if you hit the replay button then that timer is overriden and you keep your ghosts.
I have beaten the game with 10k ghost that one shot everything and are invincible. The only problem is the demons, you will need another melee unit to distract them while your ghosts deals a one hit kill.