Okay, I've just won this exact fight so I'm sure I can help.
I think I had 32,000 leadership with Flaming Eyes, and you've got 29,000. Okay. I would get rid of all the lizard units and just use Human units. I should say here that my guys had High morale and that I had the Inquisitor's Sword which allows for 20% more Paladins. You can get all the Human units free before fighting Baal, so money isn't an issue.
Your team should be Paladins, Knights, Horsemen, Guardsmen and Archmages. You could swap the Guardsmen for something else or keep your Tirexs perhaps. For this strategy, it helps if you have the Geyser spell. I had 60 Intellect with the Wanderers scroll so yours may not be as effective.
Turn 1 cast Mass Haste and Stone Skin on something, probably the Horsemen. Turn 2 cast Stone Skin on the Paladins and Knights. Those three units are the ones that will be attacking Baal. I use Geyser whenever Baal spawns new units instead of Stone Skin. Keep casting Stone Skin until all your units have it, then switch to Divine Armor (Bill Gilbert will cast this on your troops too). Also don't forget the Archmages' Magic Shield. A unit with Stone Skin, Divine Armor and Magic Shield will take maybe 200 damage from Baal, and dish out 5000+ damage.
So you will smash Baal 3+ times a turn with your tanks. Geyser when appropriate. The only thing you want to avoid is Baal's 'flying sword' attack, and the best way to prevent this is to leave two units in a file directly in front of Baal to encourage his 'sword smash' attack. If you are trying for no losses, then you will need to preserve a stack of Scoffer Imps while you resurrect.