Preheat the oven to 400 degrees Fahrenheit.
Bring 4 quarts of water to boil in a large pot. Add 1 teaspoon of salt.
Add 10 oz of rotini pasta and cook until al dente according to package instructions (for me it was 7 minutes). Add broccoli florets 3 minutes before the end of pasta cooking time (I added mine after 4 minutes).
Drain pasta and broccoli on a colander, then transfer back to the now empty pot and cover with a lid. Set aside.
Place butter and olive oil to a large skillet. Add diced onion and cook stirring often, until softened. Then add minced garlic and cook another minute.
Now stir in the flour and cook, stirring for about 2 minutes. Then pour in 1 cup of chicken broth.
Cook on low heat whisking with a metal whisk until the sauce is mostly smooth and thickened. Then add the additional cup of broth, ½ cup of milk and ½ cup of heavy cream.
Cook, whisking often until bubbly. Now turn off the heat and stir in cheddar cheese, monterey jack cheese (or mozzarella) and parmesan. Stir until all the cheese is melted.
Add cooked chicken together with cooked and reserved pasta and broccoli. Season with more salt and pepper, if needed.
Stir with a spatula until the sauce coats all the pasta, then transfer to a casserole dish.
Sprinkle with more monterey jack or mozzarella cheese (about ½ cup), if desired.
Bake in the preheated oven for 25-30 minutes or until you see some golden edges on top.
Serve immediately with a green salad.