Sort through the beans and discard any damaged ones. Thoroughly rinse under cold water. Place in a large pot with onion, garlic, epazote, jalapeno and plenty of water. Simmer until the beans are cooked through. Salt then cook for another 10 or so minutes. Total cooking time is between 1:30 to 2 hours.
Drain beans, but make sure to reserve the bean cooking liquid and set it aside. You can either discard or keep the onion, garlic and pepper.
Heat a large cast iron skillet, or large frying pan, over medium heat then add the oil and allow to heat up.
Next add the chopped onion and sauté until it becomes golden brown and a tad crispy. Then add in the chilies and garlic and sauté for a couple of minutes.
Carefully add the cooked beans, a ¼ cup of the bean broth, and with a potato masher begin to mash. Continue mashing until the beans have broken down. At this time add salt and any other seasonings and mix until well combined.
Simmer on low heat for about 8 minutes and stir often to prevent burning and the beans from drying out. Continue to mash and add bean broth until you reach your desired creamy texture.
Serve as desired.
