In a medium saucepan, boil about a half inch of water. Add 16 ounces of the spinach and cover. Allow to cook only until all the spinach has wilted, about a minute, then transfer to a bowl of ice water. Drain the spinach and squeeze out as much liquid as possible. Set aside.
In a large pan over medium high heat, melt the butter and cook the shallots until fragrant, about 2 minutes. Add the garlic, stir, and cook for another minute.
Reduce the heat to medium, add the flour, stir, and allow to cook for about 2-3 minutes. Whisk in the milk and stir until the mixture thickens. Remove from heat and stir in parmesan. Add the cooked spinach. Add the remaining 4oz of fresh spinach and stir just until that wilts. Season with white pepper, nutmeg, and salt. Serve immediately.