Get all your ingredients together.
Pick through the beans to remove any stones. Rinse the beans well in a colander under cold water. Place the beans in a large bowl with 1 teaspoon of kosher salt. Cover the beans with 8 cups of water. Allow the beans to soak at room temperature for at least 8 hours.
Drain the beans. Place them in a large heavy-bottomed pot or Dutch oven over high heat. Pour in 6 cups of filtered water and add 1 teaspoon of salt and a pinch of baking soda. Bring to a boil, then reduce the heat so the beans are at a simmer. Cook uncovered for 1 to 1-1/2 hours until the beans are tender.
Drain the beans over the bowl you soaked them in to catch the cooking liquid or bean broth. You want 4 cups of broth.
Place the rice in a fine sieve and rinse it under cold water until the water runs clear.
Using the pot that you cooked the beans in over medium-high heat, add the olive oil. Once it is warmed through, stir in the onion, bell pepper, and garlic. Cook the aromatics and pepper until the onions are translucent and soft, approximately 5 minutes.
Add the cumin, oregano, bay leaf, rice, 2 teaspoons of salt, and freshly ground pepper. Stir for approximately 1 minute until all the rice is coated in oil and everything is well combined.
Add the cooked beans along with 4 cups of their broth to the pot. Add water if needed to make sure you have 4 cups of liquid. Stir in the vinegar, cilantro, and 1 more teaspoon of salt. Bring to a boil. Then, turn down the heat to a slow rolling simmer. Cook uncovered until most of the liquid is absorbed, approximately 15 minutes.
Using a fork, give the rice a light stir. Reduce the heat to the lowest setting. Cover the pot with a well-fitting lid and continue to cook for 20 minutes.
Uncover the pot and allow the rice and beans to sit off of the heat for about 5 minutes. Then, fluff with a fork and serve with garnishes and sides.