In an ovenproof dish, heat olive oil on medium high heat until fragrant. Add uncooked rice and onion. Saute until rice begins to turn brown, about 10 minutes, stirring frequently. Add garlic; saute 1 minute. Add tomato; saute 1 minute. Add broth; stir. Heat mixture to boiling. Reduce heat and simmer for 35-40 minutes, until all water is absorbed and rice grains are splayed.
While rice is cooking, combine all chorizo ingredients except for the additional vegetable oil. Set aside for 20 minutes to allow flavors to blend. Preheat oven to 350.
Once the chorizo has rested for 20 minutes, heat additional vegetable oil. Crumble and fry the chorizo until brown, breaking up large pieces. When chorizo is browned, add beans. Stir thoroughly to combine with chorizo.
When rice is done cooking, add chorizo/bean mixture to it and stir to combine. Top with grated cheese. Bake, uncovered, for 25 minutes. Serve warm, with tortillas and salsa if you like.