Heat the skillet. Set a large, deep skillet over medium heat.
Add olive oil and let it warm until it shimmers.
Sauté the aromatics. Add the chopped onion with a pinch of salt. Cook 4–5 minutes, stirring, until soft and lightly golden. Add garlic and cook 30 seconds, just until fragrant.
Toast the rice. Stir in the rinsed rice.
Cook 1–2 minutes to coat the grains in oil and lightly toast them. This helps keep the texture fluffy.
Add tomatoes and seasonings. Pour in the canned tomatoes with their juices. Stir in smoked paprika, oregano, cumin, red pepper flakes (if using), and tomato paste (if using).
Cook 1 minute to let the spices bloom.
Add broth and bay leaf. Pour in the broth and add the bay leaf. Stir, then taste the liquid and season with salt and pepper. It should taste well-seasoned now since the rice will absorb it.
Simmer gently. Bring to a low boil, then reduce heat to low.
Cover with a tight lid. Simmer 15–18 minutes, without stirring, until most of the liquid is absorbed and the rice is tender.
Finish and steam. Remove from heat. If using peas or corn, sprinkle them over the top.
Cover again and let rest 5–10 minutes. The residual steam finishes the rice and warms the veggies.
Fluff and serve. Remove the bay leaf. Fluff the rice with a fork.
Taste and adjust salt, pepper, and heat. Garnish with chopped herbs and a squeeze of lemon for brightness.