Brown the beef. Preheat your oven to 375°F. In a large oven-safe skillet or Dutch oven over medium-high heat, cook the ground beef, breaking it into crumbles with a wooden spoon, until no pink remains, about 6 to 8 minutes. If there is a lot of rendered fat, spoon most of it off.
Build the flavor base. Add the diced onion to the beef and cook until softened, about 4 minutes. Stir in the garlic, chili powder, cumin, smoked paprika, salt, and pepper, and cook for 1 minute more until everything smells incredible. This quick toast of the spices is the difference between a flat casserole and a great one.
Add the rice and liquids. Stir in the uncooked rice so every grain gets coated in the seasoned beef mixture. Pour in the diced tomatoes with their juices, the tomato sauce, and the beef broth. Stir well and bring the whole thing to a gentle simmer.
Bake covered. Cover the skillet tightly with a lid or aluminum foil and transfer it to the oven. Bake for 35 to 40 minutes, until the rice is tender and has absorbed most of the liquid. If you do not have an oven-safe skillet, transfer the mixture to a greased 9x13-inch baking dish before this step.
Stir in the good stuff. Remove the dish from the oven and stir in the frozen corn and black beans. Taste and adjust the salt. The corn will thaw from the residual heat, and the beans add creaminess and stretch the dish even further.
Top with cheese and finish. Sprinkle the shredded cheddar evenly over the top. Return the dish to the oven, uncovered, for 8 to 10 minutes, until the cheese is melted, bubbly, and just starting to brown at the edges.
Rest, then serve. Let the casserole rest for 10 minutes before scooping. I know this is the hardest step. The rest lets the rice finish setting so you get clean scoops instead of soup. Garnish with green onions and serve with sour cream if you like.