Preheat oven to 350 degrees F. Heavily grease a 2 quart baking dish with butter.
In a large bowl, whisk together the eggs and milk. Add cubed bread and toss in egg mixture to fully absorb. Allow to soak while you prepare the vegetables.
In large skillet, heat olive oil over medium-high heat. Sauté the mushrooms until golden brown and most of the liquid has cooked off. Remove from pan and set aside.
Blanch the asparagus by cooking in boiling water for 1-2 minutes and then transferring to an ice bath. Sauté the blanched asparagus, along with diced red pepper, in the same pan you cooked the mushrooms in, stirring occasionally, until just starting to soften. Add the minced garlic and dried rosemary, and cook for another minute. Set aside and allow to cool.
Add the cooled sautéed veggies and shredded cheese into the bread and egg mixture. Season with salt, pepper, and paprika. Toss to combine. Pour into the greased baking dish.
Bake in preheated oven for 40-50 minutes or until golden brown. Serve hot or cold. Store in airtight container in refrigerator for up to 3 days. (Note: for a non-vegetarian version, try adding sautéed cubed ham or cooked crumbled breakfast sausage.)