In a large skillet, heat 2 tablespoons of the oil over medium-high heat.
Add the mushrooms and cook, stirring frequently, until they have softened, are lightly browned and giving off their juices, about 6 minutes.
Transfer the mushrooms to a bowl. Add 4 tablespoons of the oil, the lemon juice, garlic, thyme, red pepper flakes, and a pinch of salt and pepper.
Toss the mushrooms to coat and let marinate for at least 1 hour, up to 24 hours.
Hard boil the eggs by placing them in a pot just large enough to hold them. Add cold water to cover by about an inch and bring to a boil over high heat.
Remove the pan from the heat and cover. Let stand for 15 minutes.
Drain the eggs, then transfer to a bowl of ice water and let cool. Peel and slice the eggs. Set aside.
Put the spinach in a large salad bowl.
Fry the bacon pieces in a large skillet over medium heat, stirring occasionally, until crisp, about 7 minutes.
Transfer the bacon to paper towels to drain.
Pour off all but 2 tablespoons of the bacon fat in the pan.
Off the heat, whisk the vinegar and mustard into the bacon fat, then whisk in the remaining 2 tablespoon of oil.
Season to taste with salt and pepper and then drizzle over the spinach and then toss to coat.
Divide the dressed spinach among individual bowls and top with the cooked bacon, marinated mushrooms, sliced eggs, onion slices, and tomatoes.