Heat a heavy-bottomed frying pan and dry-roast the tomatoes and garlic. Meanwhile, heat the butter and a tablespoon of oil in a large, heavy-bottomed pan and when it is gently foaming add the onion and herbs.
Sweat for about five to ten minutes, until the onion is soft, then add the garlic. Cook for another few minutes before adding the tomatoes and Chipotles en adobo, if using, seasoning well with salt and pepper.
Cook gently for a few minutes before adding the beans (and their cooking liquid if you made your own).Cook a little longer before adding the stock and lime juice, then simmer gently for 10 to 15 minutes so that the flavours can develop.
Whiz briefly with a stick blender for a textured soup with a bit of bite, or purée until smooth. Pour the soup into six warm bowls and scatter over the feta, salsa and coriander and spoon over a dollop of sour cream.