Preheat a broiler.
Drain the beans in a colander set over a bowl. Save the bean liquid.
Heat the oil in a heavy skillet over medium heat. Add the garlic and onion and saute until the onion is soft, about 5 minutes. Add the drained beans. Using a potato masher, mash the beans until they become a spreadable mixture, adding extra bean liquid, if needed.
Put the rolls on a baking sheet and broil until lightly golden, about 3 minutes. Spread each half of the rolls with about 1/2 cup of the refried beans. Top with shredded cheese. Return to the oven and broil until the cheese is melted and starting to bubble. Transfer the rolls to a serving tray and serve.
Combine the beans, garlic, onion, and bay leaves in a medium pot. Add enough water to reach about 1 1/2 inches over the beans. Bring to a boil over medium-high heat. Reduce the heat, cover, and simmer until the beans are tender, about 2 hours. Add more water if the beans are absorbing too much liquid. The beans should be soupy when done, with plenty of liquid remaining. Season the beans with salt and pepper, to taste.
Ladle the beans and cooking liquid into soup bowls and garnish with Mexican crema, cilantro and chopped white onions. Alternatively, the beans can be drained and use as a filling for soft tacos.
Beans can be prepared 5 days ahead. Cool, cover and refrigerate. Bring to a boil before serving.