Heat 1 tablespoon olive oil in a large skillet over high heat. Add the sliced onions and cook on high for about 10 minutes, stirring constantly so they brown but don't burn. Reduce the heat to medium and continue to cook the onions for another 10 minutes, continuing to stir as they deepen in color. Sprinkle 1/4 teaspoon salt over the onions. Continue cooking the onions for another 10 minutes on medium or low, stirring occasionally to prevent sticking or burning. In total, the onions should cook for 30 minutes, resulting in deeply caramelized onions. Remove from heat and deglaze the pan with 1 tablespoon balsamic vinegar, scraping up any bits from the bottom and coating the onions. Transfer the caramelized onions to a plate and set aside.
In the same skillet, heat 1 tablespoon olive oil. Add the sliced shiitake mushrooms and a pinch of salt. Cover and cook over medium-low heat for about 20 minutes, stirring occasionally, until the mushrooms are soft and nicely cooked through. If you’re using regular button mushrooms, cooking time will be shorter—about 5 minutes should suffice. I like to let shiitake cook a bit longer so they develop more flavor.
Add the caramelized onions from Step 1 back into the skillet with the cooked mushrooms. Add the fresh spinach leaves and stir over low heat just until the spinach wilts and blends with the onion-mushroom mixture.
Meanwhile, bring a large pot of salted water to a boil. Add the fettuccine noodles and cook according to the package instructions until al dente. Drain well. I like to reserve a splash of pasta cooking water in case the sauce needs thinning later.
Add the heavy cream and milk to the skillet with the mushroom, onion, and spinach mixture. Bring just to a gentle boil. Immediately add shredded Parmesan cheese and the remaining 1/4 teaspoon salt, then reduce the heat to a gentle simmer. Stir frequently until the cheese melts completely and the sauce begins to thicken.
Add the cooked and drained fettuccine noodles from Step 4 into the skillet with the creamy Parmesan sauce and vegetables. Toss everything together over low heat for about 5–10 minutes until the cheese coats the pasta and everything is evenly combined. For an extra luscious texture, I sometimes add a spoonful of pasta water if the sauce gets too thick.
Serve the fettuccine with creamy mushroom, spinach, and caramelized onions on warmed plates. Optionally, sprinkle with extra Parmesan cheese on top and enjoy while hot.