For the beans
1 (16-ounce) bag dried small red or black beans
7 garlic cloves, peeled
For the rice
¼ cup vegetable oil, divided
1 medium yellow onion, finely chopped (about 1 cup), divided
1 ½ cups long-grain white rice
3 cups chicken broth
1 green bell pepper, cored and seeded
For the beans:
1. Spread beans out in a rimmed baking sheet. Pick out any debris and broken beans. Transfer beans to colander and rinse under cold running water. Place rinsed beans in a large pot and cover with cold water; water should cover beans about 3 inches. Let soak for 30 minutes.
2. Bring to boil over high heat. Reduce heat to medium and simmer beans for 30 minutes. Turn off heat, cover beans, and let rest 1 hour. Bring beans back up to boil over high heat. Add 2 teaspoons salt and garlic, reduce heat to medium, and simmer until beans are tender, 30 to 60 minutes.
3. If storing the beans, cool completely, transfer beans and some of the cooking liquid to quart-sized zipper-lock bags. When ready to use, thaw out in refrigerator and heat on stovetop in saucepan or microwave.
For the rice:
1. Heat 2 tablespoons oil in large heavy-bottomed saucepan over medium heat until shimmering. Add ⅔ of onion and cook, stirring, until softened and translucent, about 5 minutes.
2. Add rice and cook, stirring, until grains are shiny and evenly coated with oil, 2 to 3 minutes. Add water or broth and 1 ½ teaspoons salt, increase heat to high, and bring to a boil. Place bell pepper on top of rice.
3. Boil rice without stirring until most of the liquid has evaporated and you can see small bubbles bursting on the surface of the rice. Immediately reduce the heat to the lowest setting, cover, and cook (do not stir, do not remove lid) for 15 minutes. Remove and discard bell pepper. Fluff rice with chopsticks or fork, then let cool and refrigerate for 1 day.
For the gallopinto:
1. Heat remaining 2 tablespoons oil in large saucepan over medium-high heat until shimmering. Add remaining onion and cook, stirring, until softened and translucent, about 5 minutes.
2. Add rice and 2 cups beans to skillet and cook, stirring, until rice is evenly coated. Continue to cook, stirring, to allow flavors to meld and mixture to become slightly crisp, about 10 minutes. Cover and cook over low heat an additional 10 minutes.