Heat the olive oil in a large saucepan over medium heat. Add the onion and garlic and cook, stirring frequently, until the onion is softened, about 5 minutes.
Add the cumin, smoked paprika, ginger, allspice, cloves, cardamom, cinnamon, nutmeg, salt, and pepper. Cook, stirring, for 1 minute.
Add the black beans, tomatoes, broth, and coconut milk. Bring to a boil, reduce heat, and simmer for 25 minutes.
Stir in 2 tablespoons of the cilantro and season with additional salt and pepper to taste.
Serve in bowls garnished with the remaining cilantro and lime wedges.
Interesting Facts
The black beans used in this soup are a great source of protein and fiber.
Coconut milk adds a sweet and nutty flavor to the soup.