Preheat the oven to 400°F. Lightly grease a 9x13-inch baking dish.
Wash the asparagus and trim off the tough woody ends. Arrange the asparagus in an even layer in the prepared baking dish.
In a skillet over medium heat, melt the butter. Add the softened cream cheese, heavy cream, chicken broth, Italian seasoning, garlic powder, paprika, salt, and black pepper.
Whisk until the cream cheese melts and the sauce begins to come together.
Reduce the heat to medium-low and let the sauce simmer for a few minutes, whisking often, until slightly thickened.
Stir in the parmesan cheese and pepper jack cheese. Whisk until melted and smooth.
Pour the cheese sauce over the center of the asparagus. Sprinkle mozzarella cheese over the top if using.
Add red pepper flakes if you want a little heat.
Bake for 12 to 15 minutes, or until the asparagus is tender and the sauce is bubbling.
Remove from the oven and sprinkle the cooked crumbled bacon over the top.
Return to the oven for 2 to 3 minutes.
Serve warm.