2 tablespoons extra-virgin olive oil
2 cups finely chopped red onion
salt and freshly ground pepper
2 teaspoons ground cumin
3 cans (about 15 ounces each) black beans, drained
2 cups chicken broth
1/2 cup fresh cilantro leaves, plus more for serving
3/4 cup sliced almonds, toasted, plus more for serving
Sliced avocado, plain yogurt or sour cream, for serving
Heat oil in a medium pot over medium heat. Add onions, season with salt and pepper, and cook, stirring occasionally, until softened and golden, about 8 minutes. Add cumin and cook, stirring, until fragrant, about 1 minute. Add beans and broth; bring to a boil. Reduce heat; simmer until beans are heated through and creamy, about 15 minutes; let cool.
Working in batches, transfer soup to a blender and add some cilantro and almonds. Pulse until beans are coarsely chopped but not pureed. Season with salt and pepper and rewarm in pot. Serve soup with remaining cilantro, almonds, avocado, and/or yogurt.