Sort through the beans to make sure there are no stones or broken pieces.
Rinse the beans under cold water, then transfer to a large pot.
Cover with the water and stock.
Add the rice and season with the salt, cumin, and chili powder.
Bring to a boil, cover, and cook over low heat until the beans are beginning to become tender, 1½ to 2 hours.
Add the chopped cilantro stems, salsa, leek, onion, and garlic.
Taste and adjust for seasoning. Add more water and/or stock if it’s too thick.
Return to a boil and cook for another hour.
To thicken the soup, you can transfer 2 cups of the mixture to a blender and then return the puree to the pot, or use an immersion blender right in the pot.
Blend for a few seconds to your desired consistency.
Serve in large bowls with your choice of garnishes.
