In a medium bowl, cover the beans with 2 inches of cool water and soak at room temperature for at least 8 and up to 16 hours; drain.
Roast the poblanos over a gas stove burner (or under the broiler), turning often, until blackened on all sides. Transfer to a medium bowl, cover tightly with plastic wrap, and let steam for 20 minutes. Peel, stem, seed, and chop the chiles.
Heat the oil in a 5-quart heavy-duty pot over medium heat until shimmering hot. Add the onion and cook, stirring often, until softened, about 4 minutes. Add the garlic and cumin seeds and cook, stirring, for 1 minute. Add the broth and 4 cups of water, turn the heat up to high, and scrape up any browned bits from the bottom of the pan. Add the beans, chopped poblanos, ham bone, and oregano and bring to a boil. Cover, turn the heat down to low, and simmer slowly until the beans are tender, about 1 hour.
Add the sweet potato, cover, and continue simmering until the potato is tender, about 30 minutes. Remove the ham bone; pull the meat off the bone and shred it. Discard the bone and stir the meat back into the soup along with the cilantro and lime juice. Cover and let sit off the heat for 5 minutes to blend the flavors. Season to taste with salt and pepper, and serve.
nutrition information (per serving):
8, Fat Calories
70, Saturated Fat
28, Monounsaturated Fat
44, Polyunsaturated Fat
Photo: Scott Phillips