01 - Preheat the oven to 350°F.
02 - Slice each croissant in half horizontally and arrange the halves on a clean work surface.
03 - Cook bacon in a skillet over medium heat until crispy, about 6-8 minutes. Transfer to paper towels to drain excess grease.
04 - In a mixing bowl, whisk together eggs, milk, 1/4 teaspoon salt, and 1/8 teaspoon black pepper until fully combined.
05 - Melt butter in a nonstick skillet over medium-low heat. Pour in egg mixture and cook, gently pushing eggs across the pan with a spatula, until just set and creamy, about 2-3 minutes. Remove from heat.
06 - If using, spread a thin layer of mayonnaise or Dijon mustard on the cut sides of each croissant half.
07 - Layer each bottom croissant half with scrambled eggs, 2 bacon slices, 1 cheese slice, tomato slices, and spinach. Add avocado if desired.
08 - Place the croissant tops on each sandwich. Transfer assembled sandwiches to a baking sheet.
09 - Bake for 5 minutes until cheese is melted and croissants are warmed through.
10 - Remove from oven and serve immediately while hot.