01 - Bring a large pot of salted water to a boil. Cook pasta according to package directions until al dente. Drain thoroughly and set aside.
02 - In a large skillet, heat olive oil over medium heat. Add the finely chopped onion and cook for 2 to 3 minutes until softened. Incorporate the minced garlic and sauté for an additional 1 minute until fragrant.
03 - Add the fresh baby spinach to the skillet. Cook, stirring continuously, until the spinach has wilted, approximately 2 to 3 minutes. Remove the spinach mixture from the skillet and set it aside.
04 - Using the same skillet, melt unsalted butter over medium heat. Whisk in the all-purpose flour to create a roux, cooking for 1 minute to remove the raw flour taste.
05 - Gradually pour in the whole milk, whisking constantly to prevent lumps. Continue stirring until the sauce begins to thicken, which should take about 4 to 5 minutes.
06 - Reduce the heat to low. Stir in the cream cheese, mozzarella, and half of the Parmesan cheese. Season with salt, freshly ground black pepper, and ground nutmeg (if desired). Continue stirring until the sauce is smooth and creamy.
07 - Add the wilted spinach mixture and the cooked pasta to the prepared cheese sauce. Toss thoroughly until all ingredients are well combined and the dish is heated through.
08 - Serve the creamy spinach and cheese pasta immediately, garnished with the remaining Parmesan cheese.