In a Dutch oven, over medium heat, cook the bacon until it is light brown but not crispy (about 4-5 minutes).
Add the ham, garlic, onion, ancho chili powder, mustard, brown sugar, paprika and salt. Cook for 3 minutes, lightly toasting the spices.
Add the water to the pan and deglaze, scraping up the brown bits off the bottom.
Add the Worchester, Tabasco and tomato puree, stirring to incorporate with the spices. Bring to a simmer then reduce the heat to low and cook for 30 minutes, covered.
Add the beans and cook for an additional 30 minutes, covered.
Garnish with chopped tomatoes, onions and cilantro.