Preheat the oven to 400ºF / 200ºC degrees.
In a large skillet cook the bacon until the fat has rendered and it starts to crisp over a medium heat. This should take around five minutes. Remove with a slotted spoon and set aside on kitchen paper to absorb any excess fat.
Pour away all but around two tablespoons of the bacon fat in the skillet and place back onto the heat. Add in the onion mushrooms and cook until softened and the mushrooms have released all their water and reduced in size.
Whilst they are cooking, mix together the eggs and cream cheese and season with salt and pepper.
Add in the cooked mushroom and onions and mix to combine.
Sprinkle the cheddar cheese over the base of the crust and then the cooked bacon.
Pour the egg mixture over the top and finish by sprinkling over the grated parmesan.
Place in the oven to bake for around 30 minutes until the mixture is set.
Allow to cool for around ten minutes in the baking dish before serving.