Coat the bottom of a large pot with the oil and place it over medium heat. Give the oil a minute to heat up, then add the onion. Cook the onion for about 5 minutes, stirring occasionally, until it begins to soften.
Stir in the garlic, tomato paste, cumin, smoked paprika, and oregano. Cook the mixture for about 1 minute, stirring constantly, until it becomes very fragrant.
Stir in the broth, beans, and sweet potato. Raise the heat and bring the mixture to a boil, then reduce the heat to a simmer and let the soup cook for 15 to 20 minutes, stirring occasionally, until the sweet potatoes are very tender.
Remove the pot from heat and blend about half of the soup, either using an immersion blender or by carefully transferring it to a conventional blender. Always use caution when blending hot liquids. You can thin the soup with some water if it seems too thick.
Stir in the lime juice. Season the soup with salt and pepper to taste.
Ladle into bowls and top each one with a sprinkle of fresh cilantro, if desired. Serve.