Sort the beans, pick any stones out, then pour them in the 4-quart pot or bowl and cover with water, until it’s a couple inches over the beans. Allow to sit overnight. Drain and rinse the beans in a colander.
Warm the olive oil in the 6-quart pot over medium heat. Saute the onions and garlic until the onions are translucent. Add the cumin, chili powder, and red pepper flakes, cooking and stirring until the spices have melded with the olive oil and are very fragrant.
Add the beans, the ham bone, and the water. Cover and bring to a boil, then reduce heat and simmer for about 1 hour. Garnish and serve.