I've seen wells that fully replenish the mana of a hero that visits, but since that is just a map feature, I can't always rely on it to be there. How else can I restore the mana of my caster heroes?
You can also restore mana by spending 1 turn in a castle/town that you own that has a mage guild built in it. It will restore the entire mana bar.
There are items:
Charm of Mana - Hero recovers 1 extra spell point per day Talisman of Mana - Hero recovers 2 extra spell points per day Mystic Orb of Mana - Hero recovers 3 extra spell points per day
A secondary skill (Mysticism) also boosts daily mana regeneration rate.
Dungeon town has the "Mana vortex" building, it allows to instantly set your hero's spell points to 2*maximum (once in a week). If you are going to visit the town anyway, then it's basically free (no need to end turn in a town).
The adventure map structure Magic Spring (found on rough terrain, the Stronghold's native ground) acts in the same way as the Mana Vortex building in a Dungeon town: it sets the hero's spell points to twice the maximum amount. A Magic Spring has two entrance points; each can be used once a week.