Cut the ham from the bone in bite-sized or smaller pieces. Keep the bone.
Place 1 tablespoon butter into a medium skillet. Place over medium heat.
When butter has melted and is hot (do not burn), add ham pieces. Fry for 4 minutes, stirring, until they turn brown. Remove from heat.
Place 1 tablespoon butter into a large saucepan, pot or Dutch oven. Place over medium heat.
When butter has melted and is hot (do not burn), add prepared carrots, onion and garlic. Cook until just tender.
Add undrained beans, cooked ham and reserved ham bone. Stir to mix.
Add water to get desired soup thickness.
Add bay leaves, salt and pepper.
Bring soup to a boil. Reduce heat to medium-low and cook, stirring, at a simmer, for 25 minutes.
Once done remove ham bone and bay leaves from the soup.
Taste. Add more salt and pepper, to taste, if needed.
Serve hot with chopped onions, coriander leaves and/or green chilies plus maybe a bread stick or two.