Heat a large pan over medium heat. Melt 2 tablespoons of butter in the pan.
Add 1/3 of the spinach to the pan, cook until wilted, then add another 1/3 of the spinach. Repeat the process until all of the spinach is wilted. Drain off any excess liquid.
Remove the spinach from the pan and cover to keep warm. Wipe out the pan with a paper towel.
Melt the remaining 4 tablespoons of butter in the pan.
Add the onion to the pan and cook for 4-5 minutes or until softened. Add the garlic and cook for 30 seconds.
Add the flour and cook for 1 minute, stirring constantly.
Gradually add the half and half, whisking after each addition. Bring to a simmer.
Cook for 3-4 minutes, stirring occasionally, until just thickened. Stir in the salt, pepper and nutmeg.
Add the parmesan cheese and stir until cheese is melted and sauce is smooth.
Place the cooked spinach in the sauce and toss gently to coat. Add more salt and pepper if desired. Serve immediately.