I loved fighting Gruntilda from Banjo-Kazooie for the N64!
It was a lot of fun, it was hilarious, it was epic, and
very challenging.
I'd love to fight her multiple times over, but guess what, you can only fight her
once! Yeah, after you beat the game, you can't fight her again. When you jump inside Dingpot (her magic, talking cauldron), it just plays the end credits again. That's just lame!
Another one of my favorites is no doubt Mother Brain from Super Metroid.
It just feels so good to blast her with your rainbow, hyper beam at her like crazy.
If I had to choose the hardest boss battle I've been through, I'd have to pick the Shadow Queen from Paper Mario: The Thousand-Year Door.
Man oh man she was tough! She both does and can take a lot of damage. So you have to plan ahead a LOT.