01 - Preheat the oven to 400°F. Toss the halved shallots with 1 tablespoon of olive oil and a light seasoning of salt and pepper. Arrange them cut-side down on a rimmed baking sheet and roast for 20–25 minutes until deeply caramelized and fork-tender. Remove from the oven and set aside.
02 - In a large heavy-bottomed soup pot, warm the remaining 1 tablespoon of olive oil over medium heat. Add the diced carrots, celery, and bell pepper. Cook for 5–6 minutes, stirring occasionally, until the vegetables have softened and the edges begin to turn golden.
03 - Add the minced garlic, smoked paprika, ground cumin, dried oregano, and cayenne pepper to the pot. Stir constantly for about 1 minute until the spices are fragrant and lightly toasted, being careful not to let the garlic brown.
04 - Pour in the drained black beans, roasted shallots, vegetable broth, and water. Stir well to combine, scraping up any browned bits from the bottom of the pot. Bring the liquid to a gentle simmer, then cover and cook for 30 minutes, stirring occasionally, until the flavors have melded and the beans are very tender.
05 - Remove about 2 cups of the soup and transfer to a blender (or use an immersion blender directly in the pot). Purée until completely smooth, then return the blended portion to the pot and stir to incorporate. This will give the soup a rich, creamy body without any dairy. Taste and adjust the seasoning with salt and pepper as needed.
06 - Ladle the hot soup into warmed bowls. Finish each serving with a scattering of fresh cilantro, a squeeze of lime, and a spoonful of diced avocado. Serve immediately.