Preheat oven to 400°F and lightly grease a 9 x 13 baking dish, set aside.
Cook broccoli by placing in a microwave bowl and covering. Microwave for 3½ to 4 minutes until broccoli is tender and bright green. Do not overcook. (Alternatively, bring a large pot of water to a boil, add broccoli and cook for 4 minutes until broccoli is bright green and tender. Remove with a slotted spoon and let drain thoroughly before adding to recipe.)
In a large deep skillet or dutch oven, melt butter and olive oil together over medium heat. Add the diced onions and cook, stirring frequently, until translucent, about 6 to 8 minutes.
Stir in rice and garlic and continue cooking, stirring continuously, for about 1 minute.
Add in the chicken stock, half and half and salt and stir to combine. Bring the mixture to a boil and then reduce the heat to medium low. Cook, stirring frequently, until the rice is tender, about 22 to 25 minutes. Remove from heat.
Carefully stir in the cooked broccoli, grated cheddar cheese and Parmesan cheese making sure to evenly distribute the ingredients.
Transfer to the prepared baking dish (or, if using an oven safe skillet, consider baking it right in the skillet) and prepare the topping.
In a small bowl, stir to combine the melted butter, Panko breadcrumbs, smoked paprika and Parmesan cheese. Sprinkle the topping over the casserole.
Bake the casserole for 15 to 20 minutes or until golden brown and bubbling. Remove and let rest for 5 minutes before serving.