how to make battles more interesting?

One of the things I struggle with is making battle encounters that are memorable, flavorful, and last more than 2 rounds. It seems like most battles I make end up turning into "everyone throw their highest spell at it, and it's dead in two turns." This is disheartening when I watch shows like Critical Role, where one encounter is like 2 hours of back-and-forth combat. Are there things I should be doing besides giving the monsters obscene amounts of health, or super high AC, so they don't die in the first two rounds?