How do you make your Boss Battles better?

Stop me if you've heard this one.

The party has been on the tail of the villain for weeks now, fighting through his mooks and lieutenants and picking up clues along the way. The boss is a terrifying threat to the world, and only the heroes can stop him. They finally burst into the villain's lair and... the combat lasts 2 rounds.

When I'm GMing a boss fight, I want the fight itself to tell a story - back and forths, despairs and triumphs, all culminating in the heroes' victory. But sometimes, the fight ends so quickly that there's really no chance for that to happen.

What are some methods that you use to ensure your boss fights aren't anticlimactic (encounter building, monster adjustments, etc.)?

Thinking off the top of my head, increasing the level of your boss monsters runs the risk of making the encounter too hard. Similarly, adding minions will increase the difficulty of the fight, but nothing inherently stops the party from concentrating everything they have on the boss - and once the boss is finished, clearing up the minions is just busywork.