Pick through the beans and discard malforms and stones. Rinse the beans and cover with water. The water above the beans should be at least three inches. Bring to a hard boil and turn off heat. Let beans set for two hours and then drain.
Put a tablespoon of shortening or lard in a large pot. Add the onions and cook until limp, add the garlic. Saute another two minutes and add the drained beans, the bay leaves, tablespoon of salt and enough water to cover plus two inches. Cover and simmer for two hours. Check to see that water covers the beans, you don't want to burn them or have too much water in them at the end of two hours. Test the beans for softness. If still a bit hard, cook until soft uncovered. The water level should be fairly low now, you want the beans moist but not runny when finished. Remove bay leaves!
In another large pot add shortening or lard. I love really greasy beans but know it isn't good for me. So I use about a quarter cup and am quite happy. Melt the shortening and add a scoop of beans to fry (I use a spoon with slots in it to drain the liquid back in the pot). I add another spoon and another two spoonfuls, stirring. The fat only fries some of the beans. After five minutes add the rest of the pot of beans and stir well together.
I use a handheld blender and whiz the beans to a consistency of all the beans being smushed but not of a uniform puree. I like texture to my frijoles. If too runny, simmer until thick again. If too thick, add water. Adjust the salt level before serving. Even better the second day!
Some folks serve this in a bowl with a crumbly, salty cheese called cotijo seco on top, others with cheddar or fried chorizo sausage.