Saute onion and bell pepper in olive oil until onions are clear. Add in Garlic, Cilantro (or parsley), salt, pepper, cumin, vinegar, crushed red peppers and salsa, stir until heated thoroughly. Add in 6 cups of water, the beef or chicken broth, beans and ham (or Andouille Sausage). Heat to a roll boil, then reduce heat and simmer for 1-2 hours. Remove about half of the beans, being careful not to take out any of the ham. Put just those beans in a food processor and puree. Remove the ham hocks (if that was used). Discard fat, skin and bone and replace shredded meat back to soup. Add the pureed beans back in and stir until well blended. Simmer a while longer. Serve with a large spoonful of Spanish Rice over the top, a dollop of sour cream, some shredded sharp cheddar cheese and a sprinkling of fresh chopped chives, with a wedge of Mexican Cornbread on the side.
Note: By using Andouille Sausage instead of ham hocks, you save yourself the trouble of removing the bone and fat from the soup. In addition, you reduce the fat content in the soup. If you are in an area where Andouille sausage is unavailable, you can also use two pork steaks. Cut away the fat before adding them to the soup, but you will need to find and remove the two bones before serving.
Serving Suggestions: Serve in a deep dish with a generous spoonful of Spanish or Yellow Rice, a dollop of Sour Cream and a sprinkling of shredded sharp cheddar cheese and chopped chives.