Heat the oil in a large soup pot or Dutch oven. Add in the onion, bell peppers and jalepeno (if using) and saute until softened, about 5 minutes. Stir in the garlic and cook an additional minute. Add in one can of beans and the chicken broth.
Put the remaining can of beans in a food processor or blender and puree until smooth. Alternately, put the beans in a bowl and mash with a potato masher until smooth.
Add pureed beans to the soup. Bring to a boil, then reduce heat to low.
Add in the ham, cumin, chili powder, salt and pepper. Simmer for 20 minutes. Serve with cheese, sour cream and salsa.
