In a dutch oven or a heavy bottomed stockpot, melt butter over medium heat. Add onions. Add salt and pepper. Cook until translucent. Add garlic and cook for 30 seconds, or until fragrant, stirring often.
Sprinkle onion mixture with flour. Cook for 2 minutes, or until all raw flour is gone.
Add broth in with the half and half, stirring to remove any browned bits from the bottom.
Add in pasta and bring to a boil. Add in the garlic salt, cayenne, and nutmeg.
Cook (uncovered) for 10 to 15 minutes, or until pasta is cooked to your liking. Stir it often and make sure the pasta stays submerged.
When the pasta is cooked, stir in spinach, working it in batches if necessary.
Remove pot from heat. If topping the mac with panko, reserve 1 cup of the cheese mixture and stir in the remaining cheese. If not topping with panko, stir in all cheese and serve as soon as the cheese melts.