Heat the olive oil in a large pot over medium heat. Add the onion, garlic, and jalapeño. Cook for 4 minutes until the onion softens.
Stir in the cumin, chili powder, and smoked paprika. Cook for 1 minute until the spices smell fragrant.
Add the black beans, diced tomatoes, and vegetable broth. Bring the mixture to a simmer. Cook for 12 minutes, stirring now and then.
Remove the pot from the heat. Use an immersion blender to puree about half the soup for a thicker texture. Stir in the lime juice. Season with salt and black pepper.
Ladle the soup into bowls. Top each serving with cilantro and avocado.