Bring a large pot of salted water to a rolling boil. Add the spinach. Stirring, just until slightly wilted.
Pour the mixture into a strainer, and then rinse the lightly cooked leaves with cold water. Squeeze them out, by hand, to remove excess moisture. There will be A LOT.
Grab a fistful at a time, and chop it on a cutting board. Continue until all the spinach leaves are roughly chopped.
To a large skillet, set over medium heat, add the butter, onions, and garlic. Reduce the heat to low, and cook until the onions are softened and translucent- roughly 5 minutes.
Add the salt, pepper, nutmeg, and flour to the skillet- whisking to evenly combine. Let the mixture cook for 60 seconds to cook off any residual floury taste.
Whisk in the half & half, until evenly incorporated and then bring the mixture to a simmer.
Stir in the mozzarella and cream cheeses, continue stirring until they're both incorporated and the mixture's smooth. Continue cooking for roughly 6 minutes, or until the mixture's thickened.
Stir in the spinach and the Parmesan cheese until evenly combined.
Serve & enjoy!