Rinse the rice: Place the rice in a fine-mesh strainer and rinse under cold water until the water runs mostly clear. This helps prevent gumminess.
Sauté the aromatics: Heat the oil in a medium pot over medium heat.
Add the onion and bell pepper. Cook for 4–5 minutes, stirring, until softened. Add the garlic and cook for 30 seconds, just until fragrant.
Toast the spices: Stir in the cumin, smoked paprika, oregano, and chili powder or red pepper flakes.
Toast for 30 seconds to bloom the spices.
Add rice and beans: Stir in the rinsed rice and cook for 1 minute, coating it in the spiced oil. Add the beans and gently mix.
Add liquid and simmer: Pour in the broth (or water), add the bay leaf if using, and season with 1/2 teaspoon salt and a few grinds of black pepper. Bring to a gentle boil.
Cook the rice: Reduce heat to low, cover, and simmer for 15–18 minutes, or until the rice is tender and liquid is absorbed.
Avoid lifting the lid too often.
Rest and fluff: Remove from heat and let it rest, covered, for 5 minutes. Discard the bay leaf. Fluff with a fork.
Finish and serve: Squeeze in the lime juice and sprinkle with cilantro or parsley.
Taste and adjust salt and pepper. Serve warm.