Place the bacon in a non-stick frying pan over medium heat and cook for 5 minutes or until lightly coloured. Remove from the heat and set aside.
Meanwhile, spread the cream cheese on one side of each slice of bread, then cut in half diagonally.
Squeeze out the excess liquid from the spinach, then scatter most of it over the base of a baking dish about 20 cm x 30 cm. Scatter a handful of the cheddar over the top.
Arrange the slices of bread in the baking dish overlapping at an angle (like dominoes) with the crusts pointed upwards. The slices should be nice and snug and they don’t have to be perfectly arranged.
Place the cream, eggs, milk, salt and pepper in a bowl and whisk until well combined. Stir in half the remaining grated cheese, then pour over the top of the bread, lifting up some of the slices to let the egg mixture seep in.
Tuck the bacon between the bread slices and scatter the remainder over the top. Tuck the remaining spinach in between some of the slices, then scatter with the remaining cheese.
Stand at room temperature for 15-20 minutes to allow the custard to seep into the bread.
While the bread bake is soaking, pre-heat the oven to 200ºC.
Bake for 35-40 minutes, until golden and crispy. Set aside to cool slightly - this will make it easier to cut.
To serve, heat 1 tablespoon of olive oil in a large frying pan over medium heat and fry half the eggs for 3 minutes or until cooked to your liking. Place a lid on top if you want the whites very set.
Remove from the pan and set aside, then repeat with the remaining oil and eggs.
Cut the eggy bake into 6 even rectangles and place one on each plate. Pop an egg on top of each slice and serve immediately.