Place the eggs in a saucepan, cover with water and bring to a boil. Then turn off the heat and allow to sit in the water for 20 minutes. Drain off the water and add ice on top of the eggs.
Fry the bacon in a skillet until crispy/chewy. Remove to a paper towel. Drain the fat into a bowl and reserve. Give the skillet a wipe with kitchen paper.
Slice the red onion very thinly, and then add to the skillet. Cook slowly until the onions are caramelized and reduced. Remove to a plate and set aside.
Slice the mushrooms and add them to the same skillet with a little of the reserved bacon fat if needed. Cook slowly until caramelized and brown. Remove to a plate and set aside.
Chop the bacon. Peel and slice the eggs.
Make the hot bacon dressing: Add 3 tablespoons of the reserved bacon fat, vinegar, sugar, Dijon and salt to a small saucepan or skillet over medium-low heat. Whisk together and heat thoroughly until bubbly.
Add the spinach to a large bowl. Arrange the onions, mushrooms and bacon on top. Pour the hot dressing over the top; toss to combine. Arrange the eggs over the top and serve.
Per serving: Calories 270; Total Fat 22.5 grams; Saturated Fat 7.5 grams; Protein 10 grams; Total Carbohydrate 7 grams; Sugar: 2 grams; Fiber 2 grams; Cholesterol 123 milligrams; Sodium 526 milligrams