Start by browning the ground beef in a large pot over medium-high heat. Season it with salt, pepper, and Italian seasoning, then drain excess grease and set it aside.
In the same pot, melt some butter and sauté the diced onions until soft. Add garlic and cook just until fragrant to build a flavorful base.
Pour in the beef broth along with the remaining butter. Add the uncooked long-grain rice and bring it to a boil. Reduce the heat, cover, and let it simmer for about 10 minutes.
Stir in the mushrooms, cover again, and continue simmering until the rice is fully cooked. Once done, turn off the heat and let the rice rest, covered, so it becomes fluffy and evenly cooked.
Add the cooked beef back into the pot with the rice. Mix in the cream of mushroom soup, milk, sour cream, and half the cheese until everything is creamy and well combined.
Transfer the mixture into a greased casserole dish and top it with the remaining cheese. Cover and bake at 350°F for about 20 minutes, until hot and melted.