Preheat the oven to 350 degrees F and spray a 9X13 baking pan with a non-stick cooking spray.
Fill a large pot with water and bring it to a boil. Put the broccoli in the boiling water and cook it for 2 minutes and immediately place the broccoli in a bowl with ice cold water to keep the broccoli from over cooking. Then set aside.
Melt the butter in a skillet over medium heat. Add the diced onions and sauté the onions until they are translucent.
Then whisk in the flour, garlic powder, salt and pepper. Whisk and cook for an additional 2 minutes. Then slowly whisk in the milk until all the milk is combined. Continue whisking over medium heat until the mixture is thick and bubbly.
Then remove the mixture from heat and stir in the dry mustard powder, paprika, cream cheese and 1 1/2 cup of the cheddar cheese. Continue to stir (not on the heat) until the mixture is combined and the cheese is fully melted. Then gently stir the rice and broccoli into the cheese sauce in the skillet.
Spread this mixture into the 9X13 baking pan. Top the mixture with the remaining shredded cheese and bake for 30-35 minutes or until the casserole is bubbly and the top of the casserole is slightly browned.
Notes
Use freshly shredded cheddar cheese so that it melts smoothly and evenly in this casserole. I used fresh broccoli but you can use frozen as well just make sure that it doesn’t get over cooked with blanching the broccoli. You can easily prepare this casserole the night before. Store it in the refrigerator before baking it. Then make sure that the casserole comes fully to room temperature before baking it based on the instructions. Refrigerate the leftovers in an airtight container for up to 5 days.