Most of the work of this easy to make breakfast is done the night before and now you can relax and enjoy your breakfast with family and friends.
In a large skillet, heat the olive oil over medium heat. Add the onions and sauté until translucent. Crumble the sausage into the skillet and cook, stirring often, until browned. Scoop the cooked sausage and onions into a large mixing bowl with a slotted spoon. Reserve 1 tablespoon of the drippings in the pan; set aside.
To the cooked sausage and onions in the bowl, add the torn croissants, Monterey jack cheese and cheddar cheese; stir well. Scoop the mixture into a 3-quart glass or ceramic casserole dish, then set aside.
In a medium mixing bowl, combine the eggs, heavy whipping cream, ½ cup of the whole milk, the dry mustard, paprika, garlic powder, ½ teaspoon salt and ½ teaspoon black pepper; beat with a whisk until well combined. Pour evenly over the sausage and croissant mixture in the casserole dish.
Cover the casserole with plastic wrap and refrigerate overnight, or at least 8 hours.
To a large skillet, add the reserved tablespoon of sausage drippings and 1 tablespoon butter. Heat over medium heat until melted.
Add 2 tablespoons of flour and whisk to combine. Allow the flour and fat mixture to cook for 1 minute, then add 1 cup of whole milk. Whisk until smooth.
Allow the gravy to reach a slow simmer, stirring constantly, then reduce the heat to low and continue to stir until the gravy reaches your desired thickness (Note: if the gravy becomes too thick, simply thin with a small amount of milk or cream).
Season the gravy with salt and ground black pepper to taste. Pour the gravy into a small food storage container and store in the refrigerator overnight.
Preheat the oven to 350°F. Remove the casserole dish from the refrigerator to allow the dish to warm up to room temperature a bit before placing it into the oven.
Bake the casserole uncovered at 350°F for 45-50 minutes until browned and bubbly.
Scoop the gravy into a microwave-safe dish and heat in the microwave in 30-second increments, stirring between each cooking interval, until hot.
Serve the casserole hot with gravy ladled over top of each serving. Garnish with ground black pepper or paprika if desired.