On a clean flat surface, spread out the dry beans and sort out any stones or bad looks beans. Discard and refuse found, and put the remaining beans in a colander. Rinse with running water to remove and dirt and grit.
Place rinsed beans into a large sauce pot and add water until the beans are covered by 2 inches. Set aside and let soak at least six hours, or overnight.
Note: Forgot to soak the beans or just don't have time? No problem. Try the "quick soak" method. Once beans are covered with water, place the pot over medium heat and bring water to a boil. Let boil 1 minute then remove from heat. Cover the pot and let stand for 1 hour. After 1 hour, the beans are ready to cook per directions.
Make sure that there is at least 1 inch of water covering the beans. Place pot over medium heat and bring to a boil. Skim off any foam that rises to the top. Reduce heat to let beans simmer. Add onion, garlic, and 1-1/2 teaspoons of the salt. Cover and let simmer 45 minutes, checking water level occasionally. Add additional water if water level falls too low.
Stir in cilantro and season to taste with remaining salt. Recover and let simmer an additional 30 to 45 minutes or until beans are soft but not mushy, and the broth has thickened. Adjust seasoning to taste. Serve hot, top with queso fresco and additional cilantro. Makes 6 to 8 servings.