Begin by heating olive oil in a large soup pot over medium heat. Add the diced onion and let it cook until it becomes soft and slightly golden, about 5 minutes. Stir in the garlic and bell pepper, cooking for another 2 minutes until fragrant.
Toss in the peeled and cubed sweet potatoes, coating them with the sautéed vegetables. This helps them absorb the flavors from the garlic and onions before the broth is added. Give everything a gentle stir to mix well.
Sprinkle in the smoked paprika, cumin, cayenne, and chili flakes. Stir to evenly coat the vegetables in the spices. This step allows the spices to bloom, releasing their oils and creating a deeper flavor base for the soup.
Add the vegetable or chicken broth, making sure the sweet potatoes are fully submerged. Bring the mixture to a boil, then reduce the heat to low and let it simmer for about 20 minutes until the sweet potatoes are fork tender.
Once the sweet potatoes are soft, remove the pot from the heat. Use an immersion blender directly in the pot or transfer the mixture to a countertop blender in batches. Blend until smooth and creamy, then return the soup to the pot if needed.
Stir in the coconut milk or cream, adjusting the thickness to your liking. Taste and season with salt, pepper, and a squeeze of fresh lime juice. Garnish each bowl with cilantro or parsley before serving for a fresh finishing touch.