Adjust an oven rack to the middle position and preheat oven to 350 degrees.
In a food processor or blender, puree the tomatoes and onions until smooth. Measure 2 cups of puree, pouring off and discarding any excess.
In a large Dutch oven or a 3-quart saucepan, heat oil until shimmering. Add the rice and sauté, stirring frequently, until light golden in color, about 10 to 15 minutes.
Stir in garlic until fragrant, about 30 seconds. Stir in tomato mixture, broth or water, tomato paste, and salt to taste (I like 1 1/2 teaspoons). Bring to a boil.
Cover (or transfer to a baking dish and cover) and bake until the rice is tender and the liquid is absorbed, about 30 minutes. Stir halfway through baking time.
Fluff rice with a fork. Fold in cilantro or parsley (if using) and season to taste with salt. Serve with lime wedges.
Video
Notes
Tomatoes and onions: So many readers love using their favorite salsa instead of the tomato/onion mixture. You can even use canned tomatoes, Rotel, or a couple cans of El Pato tomato sauce, a zesty tomato and chili purée found at Mexican grocery stores. As long as you have two cups of liquid, you're good to go.
Rice: Any long-grain white rice (including Basmati and Jasmine) work well here. To substitute brown rice, add 10 minutes to the baking time.
Tomato paste: If you don't want to open a small can of tomato paste, look for a tube at the grocery store. In Mexico cooks use one cube of Consomate brand tomato bouillon instead of tomato paste.
Cilantro: Or substitute parsley. In truth, no one in Mexico ever does this (but let's be honest: they would never make rice in the oven, either).
Yield: This Mexican Rice recipe makes about 6 cups rice, enough for 12 (1/2-cup) servings.
Storage: Store leftovers covered in the refrigerator for up to 4 days.
Freezer: Spread the cooked rice out on a rimmed baking sheet to cool it quickly. Then, scoop it into freezer-safe plastic bags. Then, when you need a quick side dish, just pull a bag of rice out of the freezer, defrost, and reheat. It works like a dream!