Prep your ingredients. Dice the onion and bell pepper, mince the garlic, and rinse the rice in a fine-mesh strainer until the water runs clearer. This helps the grains cook fluffy and not gummy.
Brown the beef. Heat a large, deep skillet or Dutch oven over medium-high.
Add the ground beef and break it up as it browns. Season with a pinch of salt and pepper. If the pan looks dry, add a drizzle of olive oil.
Cook until no pink remains and edges get a little crisp.
Drain excess fat, if needed. If there’s more than a tablespoon of fat, spoon off the extra. Leave a bit in the pan for flavor.
Sauté the aromatics. Add the onion and bell pepper. Cook 3–4 minutes until softened.
Stir in the garlic and cook 30 seconds until fragrant.
Season it up. Sprinkle in chili powder, cumin, smoked paprika, and oregano. Stir 30–60 seconds to bloom the spices. This step boosts depth and aroma.
Add tomato base. Stir in the tomato paste and cook for 1 minute.
Add the diced tomatoes with their juices and mix well.
Layer in rice and liquids. Stir in the rinsed rice, broth, corn, and black beans. Bring to a steady simmer. Taste the liquid and adjust salt and pepper now—it should be well-seasoned, like a good soup.
Simmer gently. Reduce heat to low, cover, and cook 18–22 minutes, until the rice is tender and most liquid is absorbed.
Avoid lifting the lid too often; steam is doing the work.
Rest and fluff. Turn off the heat and let it sit, covered, for 5 minutes. Uncover, fluff with a fork, and check seasoning. Squeeze in a little lime for brightness.
Cheese and finish. Sprinkle cheese over the top and cover for 1–2 minutes to melt.
Garnish with chopped cilantro. Add optional toppings like sour cream, jalapeños, avocado, or hot sauce.
Serve. Spoon into bowls and add extra lime wedges on the side. Enjoy hot.