Soak beans overnight or use quick-soak: cover with water, bring to boil 2 minutes, let sit 1 hour, then drain.
Cook bacon in a large pot over medium heat until crisp; remove and drain on paper towels.
Add onion to bacon fat and cook until soft, about 5 minutes; stir in garlic and cumin for 30 seconds.
Add beans, water or broth, and bring to a simmer; reduce heat and cook gently until beans are tender, 1 to 1ΒΌ hours.
Stir in salt, pepper, and half the bacon; mash a few beans against the side for creaminess, simmer 5 more minutes.
Taste and adjust seasoning; top with remaining bacon and cilantro before serving.