1. Preheat oven to 360F (180C).
2. In a large bowl combine all the cheeses and set aside.
3. Heat large pot of salted water, cook the broccoli florets for 3-4 minutes, until soft but not soggy. Drain and set aside. Cook the macaroni to al dente (1-2 minutes less then package instructions).
4. While the pasta is cooking make the sauce: In a large pot, melt the butter, add chopped onion and sauté until soft, about 5 minutes over low-medium heat. Add garlic and cook 1 more minute. Add flour and whisk over medium-low heat. Cook for a couple of minutes, whisking constantly, until golden. gradually add the milk and whisk until smooth. Cook until slightly thickens, about 5-6 minutes.
5. remove from heat, season with salt, pepper and nutmeg.
6. Gradually add 3/4 of the cheese mixture to the sauce and whisk until melted after each addition.
7. Drain the pasta and add to the sauce. Add the broccoli.
8. Transfer to a 12-inch (30cm) round baking dish, sprinkle the remaining 1/4 of the cheese and bake for 20-25 minutes or until golden and bubbly.