Put rice into a medium bowl, cover with water, and swish around with your hand until water clouds. Drain and repeat process until water remains clear, 3-4 more times. Drain again, return rice to bowl, and set aside.
Put tomatoes, onions, and garlic into a food processor and process to a fine puree. Transfer to a medium bowl and set aside.
Heat oil in a 3 1⁄2-quart caldero or medium heavy-bottomed pot with a tight-fitting lid over medium-high heat. Add rice and cook, stirring constantly with a wooden spoon, until lightly golden, 5-7 minutes. Add tomato-onion puree and cook, stirring often, until the mixture becomes bright orange, about 3 minutes. Stir in stock and season to taste with salt.
Bring to boil and cook, undisturbed, until liquid barely covers rice and craters appear on the surface, 8-10 minutes. Reduce heat to low, cover, and steam until rice is tender 18-20 minutes more. Remove pot from heat. Set aside to let cool, undisturbed, for 10 minutes, then fluff with a fork.