Sort through all the beans to remove any rocks, wood pieces, or imperfections
Rinse the beans thoroughly to remove dust
Soak beans in 4 cups of water overnight in the refrigerator
Drain and rinse the soaked beans
Bring 8 cups of water to a boil
Add the drained beans to the boiling water
Add 1.5 onions (halved and smashed), 4 cloves of garlic (smashed), 2 avocado leaves, and 4 epazote leaves to the beans
Bring to a boil, then lower heat and simmer for 60 to 90 minutes until beans are tender
Stir occasionally during cooking, ensuring beans stay covered with water
Test beans for doneness by checking if they smash easily
Remove the onion, avocado leaves, epazote leaves, and garlic cloves from the cooked beans
Dice fresh onions and sauté in vegetable oil over low heat to create a sofrito
Add salt to the sofrito and sweat the onions
Add some of the cooked beans to the sofrito (not all the liquid) to create rich, creamy beans
Add salt to taste and stir well
Simmer the bean mixture for 15 to 20 minutes
Prepare tomato broth for Mexican rice
