Melt butter and heat oil in a large skillet over high heat. Add onion and cook 3–5 minutes, until golden. Add mushrooms and cook 2–3 minutes more, stirring occasionally.
Stir in cubed chicken and garlic. Season to taste (I add ½ teaspoon each of salt & pepper). Cook, stirring only occasionally, until chicken turns white on the outside, about 5 minutes (it doesn’t need to be cooked through yet).
Stir in the rice and all seasonings. Cook, stirring constantly, for 2 minutes.
Reduce heat to medium. Sprinkle in flour and stir constantly for 1 minute. Gradually whisk in half the milk until smooth, then add the rest. Stir in broth while whisking constantly.
Bring to a simmer. Cover, reduce heat to medium-low, and cook 10–12 minutes.
Remove lid. The rice should be tender and the liquid mostly absorbed (you should see a small amount of liquid around the rice that will absorb during resting; see note 3 for trouble-shooting). Quickly cover again and let stand off heat for 10 minutes (see note 4).
Stir in half the cheese. Smooth the surface, sprinkle with the remaining cheese, cover, and let stand until melted. Stir gently and if you'd like a creamier consistency, add in heavy cream gradually while stirring gently. Serve hot, topped with parsley and scoops of sour cream if desired.
