Cook the eggs: Place the eggs in a pot and cover with water. 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 until crispy/chewy. Remove to a paper towel. Remove 3 tablespoons of bacon grease to a small bowl and set aside. Add 2 additional tablespoons of bacon grease to a separate skillet over medium heat.
Slice the onion very thinly, then add to the skillet set over medium heat. 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. 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 the reserved 3 tablespoons bacon grease, vinegar, sugar, and mustard to a small saucepan or skillet over medium-low heat. Whisk the mixture together and heat thoroughly.
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. Enjoy!
