In a large, heavy-bottomed pot or sauté pan, heat olive oil over medium-low heat. Add the onion and stir to coat with oil. Spread the onions out evenly over the pan and let cook for about 15 minutes, stirring occasionally, until caramelized.
Once the onions are nearly caramelized add the garlic and saute until light golden brown. Add the shrimp and mushrooms. Cook until the shrimp turns pink and the mushrooms are tender, about 5 - 7 minutes. Stir in the fresh thyme, black pepper, salt, and heavy cream.
Boil the pasta according to package instructions. Remember to reserve at least 1/2 cup of pasta water per serving.
While the pasta is cooking, whisk together all ingredients for the vinaigrette and set aside.
In the same pan as the caramelized onions, pour in reserved pasta water and stir until a smooth sauce forms. Add the cooked spaghetti and baby spinach to the sauce. Toss until the pasta is coated evenly with the sauce and the spinach wilts.
Portion the ingredients for the salad. Then mix the ingredients for the dressing in a bowl and drizzle the salad with dressing.
Mix together the ingredients for the lemon sparkling water. Serve over ice if desired.
Serve the spaghetti topped with shredded Gruyère cheese. Enjoy with salad and lemon sparkling water.