Sear the bacon or ham in a saucepan over medium heat. Once it is mostly cooked and the fat starts to seep out add the onions, carrots and celery. Remove the bacon/ham if it every burns, otherwise keep it in the saucepan.
If making vegan: Place the minced onions, carrots and celery in a saucepan with a splash of olive oil.
Once the vegetables start to soften and the onions appear translucent, stir in the black beans, chipotle, garlic, cumin, coriander, smoked paprika and bay leaves. Pour in half of the broth. Bring up to a simmer. Allow it to cook for at least 5 minutes. Letting it go longer will intensify the beauty of the flavors. Add broth or even water if it starts to dry out.
Remove the bay leaves. Place in a blender or use an immersion blender to puree the soup. Add more broth as needed to puree it. Taste. Add salt to taste, more or less as necessary. It just depends on the amount of salt in the beans and broth to start.
Bring back up to a simmer and finish with the zest of lime and squirt of juice. Serve with a dollop of sour cream or cream from coconut milk, if desired.