Wash and dry spinach. Slice onion and mushrooms, halve tomatoes, mince garlic, and wedge the eggs.
Cook bacon in a large skillet over medium heat until crisp, 6–8 minutes.
Transfer bacon to paper towels; pour off and reserve about 3 tbsp drippings in the skillet.
Sauté onion and mushrooms in the drippings until softened and lightly browned, about 3–4 minutes.
Whisk in garlic, Dijon, vinegar, honey, olive oil, salt, and pepper; simmer 30 seconds.
Add spinach to a large bowl. Pour warm dressing over and toss until just wilted.
Fold in crumbled bacon, tomatoes, eggs, croutons, and Parmesan. Taste and adjust seasoning. Serve immediately.