Bring pot of water to a boil. Generously salt. Cook the pasta until al dente, adding broccoli to pasta water after the pasta has cooked for 5 minutes. Drain.
Add 3 Tablespoons butter to a skillet over medium heat. When butter melts, add onion and garlic. Cook until onions begin to soften, about 3 to 5 minutes. Add flour and stir to combine to make a roux. Continue to cook and stir the roux about 3 to 3 minutes.
Gradually whisk in milk, making sure to incorporate the roux into the milk. Continue to whisk mixture and bring to a boil. Reduce heat and simmer, whisking frequently, until sauce thickens, about 5 minutes. Season with salt, pepper, nutmeg and dry mustard powder.
Remove pan from heat. Stir in 3 cups cheddar. Add drained pasta and broccoli to skillet. Stir to combine. Sprinkle with remaining 1/2 cup cheddar cheese.
Transfer to buttered baking dish and bake for 25 minutes.