In a soup pot, heat oil on medium heat and add onion and stir until onions are translucent. Stir in spices and garlic and cook for about 2 minutes.
Add in black beans, water or vegetable broth and bay leaves. Bring to a boil then reduce heat to simmer uncovered for 25 minutes. With an immersion blender puree the soup for about a minute. It should be mostly pureed, but still with some good chunks and texture. If you do not have an immersion blender, transfer about half of soup to a traditional blender to puree, then return the puree to the pot. Stir in the chopped cilantro.