In a medium saucepan, cook the elbow macaroni according to package instructions until al dente. Drain and set aside.
In a large pot, heat the olive oil over medium heat. Add the chopped onion and minced garlic. Sauté for about 3-4 minutes, until the onion is translucent and fragrant.
Pour in the vegetable or chicken broth and bring to a gentle boil. Add the chopped spinach and cook for an additional 2-3 minutes, until the spinach is wilted.
Stir in the heavy cream, salt, black pepper, and nutmeg (if using). Allow to simmer for about 5 minutes on low heat.
Using an immersion blender, blend the soup to your desired consistency (smooth or slightly chunky). If using a regular blender, blend in batches carefully.
Return the cooked macaroni to the pot, stirring to combine. Heat through for another 2-3 minutes.
Taste and adjust seasoning if necessary. Serve hot, optionally garnished with grated Parmesan cheese.