In a large pot heat oil over medium-high heat. Add onion and cook for about 5 minutes or until translucent.
Add garlic, jalapeño and tomato paste. Cook for about 2 minutes, stirring to coat all the vegetables with tomato paste.
Add salt, pepper, cumin and chili powder. Stir to combine and cook for about 2 minutes.
Add bay leaf, cilantro, beans (with liquid) and chicken stock. Let simmer for about 20 minutes until the liquid reduces slightly.
Remove bay leaf.
Using an immersion blender blend soup until desired consistency.
Serve with sliced avocado and a dollop of sour cream.
Notes:
*If you do not have an immersion blender you can use a regular blender, but be careful blend in batches so you do not fill the blender too full and cause the soup to explode all over the kitchen.