Preheat the oven to 375 degrees F.
Bring a large pot of salted water to a boil, then add the pasta. Careful not to overcook the pasta, as it will continue to cook in the oven. Once the pasta is about 2 minutes from al dente, add the broccoli and cook another 2 minutes. Drain and transfer to baking dish. I used a 8x10 inch dish.
Meanwhile, heat a large skillet over medium-high heat. Add 3 tablespoons butter, onion, and chicken. Cook until the chicken is lightly browned, about 5-7 minutes. The chicken will finish cooking in the oven.
Add the remaining tablespoon of butter and garlic to the skillet with the chicken and onion; cook for one minute. Mix in the flour and cook another minute. While mixing, slowly pour in the chicken broth then milk. Simmer for 3-4 minutes, until thickened to gravy consistency.
Remove the skillet from the heat and mix in the salt, pepper, nutmeg, parmesan, cheddar and ½ cup mozzarella cheese. Pour over the pasta and broccoli in the baking dish and mix together. Sprinkle with the remaining 1 cup of mozzarella cheese.
Cover with foil and bake for 15 minutes. Remove foil and bake an additional 10 minutes, or until the cheese is lightly golden brown and the sauce is bubbling around the edges.