Prep the broccoli: Bring a large pot of salted water to a boil. Add broccoli florets and cook 2 minutes until bright green but still firm (not soft). Drain immediately, then run under cold water for 30 seconds to stop cooking. Squeeze out excess moisture with your hands or a clean towel — this is the step most people skip that makes the biggest difference.
Melt butter and make the roux: In a large saucepan or Dutch oven, melt 2 tablespoons of butter over medium heat. Whisk in flour and cook for 1 minute, stirring constantly, until the mixture turns light golden and smells nutty (don't let it brown).
Add milk gradually: Pour in the milk slowly while whisking continuously to avoid lumps. Keep cooking for 3–4 minutes, still whisking, until the sauce is thick enough to coat the back of a spoon.
Incorporate cheese and seasonings: Remove from heat. Stir in cheddar and Gruyère one handful at a time until fully melted and smooth. Add nutmeg (if using), salt, and pepper. Taste and adjust — it should be well-seasoned since the broccoli will dilute the flavor.
Combine everything: Fold in the blanched broccoli until evenly coated in cheese sauce. Pour into a 9x13-inch baking dish.
Add toppings: Mix remaining 2 tablespoons melted butter with ¾ cup of the crushed crackers and spread over the top. Sprinkle with Parmesan, then dot with remaining 1 tablespoon butter (cut into small pieces) — this helps it brown evenly.
Bake until bubbly: Bake at 375°F for 20–25 minutes until edges are bubbling and the top is golden. Let rest 5 minutes before serving so it sets slightly.