In a large pot, heat oil over medium to medium-high heat.
Add onion and saute' until soft, about 3-4 minutes.
Add garlic, and saute' additional minute.
Add ham and saute' additional minute.
Stir in lime zest, beans (including liquid), stock, tomatoes (including juice), hot sauce and cumin. Bring to a boil.
Reduce heat to simmer and let simmer for 45 minutes.
Partially mash the beans with potato masher to thicken.
Add the lime juice and salt and pepper if needed.
Garnish with your choice of sour cream, cilantro, diced tomatoes, diced jalapenos, parsley, crushed corn chips.