Needless to say, you want to tackle the Dragon with a fully developed party, and the higher the level the better.
The way I did it requires at least one character that can cast Poison Cloud, one that can cast Paralyze, and one that can cast Divine Intervention. The Mage and the Lich can cast the first two of these spells, and the Priest can cast the last two. In fact only the Priest can cast Divine Intervention. I prefer the Lich to the Mage for the simple reason that the Lich can master Thrown Weapons whereas the Mage can only reach Expert level. Apart from that they're pretty much on a par as fighting characters.
The first thing you need to do is to paralyze the Dragon. Then you use Divine Intervention to heal your party, after which you hammer away at the dragon until the paralysis wears off. Then repeat as necessary. The most effective spell to hammer with is Poison Cloud, and the best way to do it is to get reasonably close, and target the dragon's feet with the spell in turn based mode. That way, the Cloud hangs around the dragon and does repeated damage rather than damaging it once and then wasting the rest of its effect harmlessly behind the dragon.
The bug that makes it easier to do this is that you are supposed to be able to cast Divine Intervention only once a day, but in fact you can cast it as many times as necessary.
I've used this technique successfully with both my preferred parties:– (1) a balanced party of Gladiator, Assassin, Lich and Priest, and (2) an all-magic party of Druid, Priest, Mage, and Lich. In fact, I found the Druid fighting unarmed to be the best fighter/spellcaster available. I would advise you to avoid the Paladin and especially the Ranger; the Ranger in particular does not have fighting abilities that come anywhere near the Assassin or the Gladiator, and his spellcasting abilities when fully developed are grossly inadequate compared to any of the heavy-duty 'casters. I put in a post years ago about this.
Hope this helps!