In a large pot, soak beans overnight covered in water by 2 inches. Drain and set aside.
In the same pot, heat the olive oil. Add the onion, jalapeno pepper, garlic, and bay leaf and cook until the vegetables begin to soften, about 5 minutes. Add the beans and cover with water by about 1-inch. Bring to a boil, reduce the heat, cover, and simmer for 1 to 1 1/2 hours, or until the beans are tender. Remove the bay leaf and discard. Taste the beans and season with salt and pepper.
For the rice:
Put all the ingredients into a heavy-bottomed pot, stir well, and bring to a boil over medium-high heat. Reduce the heat to a simmer, cover, and cook over low heat until the rice has absorbed the water, about 15 to 20 minutes. Remove from the heat and let sit, covered, for 5 minutes. Discard the garlic and bay leaf, fluff with a fork, and serve.