Preheat your oven to 375°F. In a large pot, bring salted water to a boil. Add the pasta and cook it until it’s just shy of al dente. Two minutes before the pasta finishes cooking, stir in the broccoli florets and cook them together. Drain well and transfer both to a baking dish.
While the pasta cooks, heat a large skillet over medium-high heat. Melt 3 tablespoons of butter, then add chopped onion and chicken pieces. Cook for 5 to 7 minutes until the chicken starts to brown but is not fully cooked through. This keeps it juicy when baked later.
Add the remaining tablespoon of butter and minced garlic to the skillet. Cook for one minute. Stir in the flour and cook for another minute to remove the raw taste. Gradually whisk in the chicken broth and milk, stirring constantly. Let the mixture simmer for 3-4 minutes until thick like gravy.
Remove the skillet from the heat. Add salt, pepper, nutmeg, parmesan, cheddar, and ½ cup of the mozzarella cheese. Mix until smooth and melty. This creamy cheese sauce is what brings the dish together, coating every bite with flavor.
Pour the cheese sauce over the pasta and broccoli in the baking dish. Stir to evenly coat everything. Top with the remaining 1 cup of shredded mozzarella. Cover the dish with foil and bake for 15 minutes. Remove the foil and bake another 10 minutes until bubbly and golden on top.