Melt 1/4 cup of butter in a medium-sized pot over medium heat. Watch as it begins to bubble and foam, which means it’s ready for the next step.
Whisk in 4 tablespoons of all-purpose flour and cook for a couple of minutes until it turns light golden. This is your roux, and it should smell nutty and delightful.
Add in the 1 chopped onion and cook until it becomes transparent, about 2 to 3 minutes. Stir frequently to avoid burning.
Next, add 3 cloves of minced garlic and cook until fragrant, about 30 seconds. Your kitchen should start smelling amazing!
Pour in 1 cup of milk (or half and half), whisking constantly. Keep stirring until the white sauce thickens, which should take about 5 minutes. If it looks too thick, feel free to add a bit more milk.
Season the sauce with salt, pepper, nutmeg, and cayenne if you’re using it. Taste and adjust the seasoning as needed.
In a separate pan, melt the remaining butter. Add the spinach in batches, wilting each before adding more. This helps to manage the volume.
Alternatively, you can cook the spinach in boiling water for just one minute before immersing it in a cold water bath to stop the cooking process. Squeeze out any excess water.
Combine the wilted spinach with the cream sauce, stirring gently to ensure everything is well mixed.
Finally, sprinkle with parmesan cheese and serve immediately. Enjoy the warmth and comfort this dish brings!