In a large pot over medium heat, add bacon pieces and cook, stirring, until they are lighty browned on the edges, 3 to 4 minutes.
Add the onion, serrano, salt and pepper and continue to cook, stirring, until the onions are tender, about 4 minutes.
Add the garlic powder, oregano, cumin, chili powder, paprika and toast the spices, about 1 minute-- stirring constantly to be careful not to burn-- to bring out the flavor.
Add the beans (drained + rinsed), the broth, and the bay leaves. Bring contents in the pot to a boil. Once boiling, reduce heat to a low simmer, cover, and cook until the beans are tender, about 2 hours-- stirring occasionally.
When the beans are tender, transfer 1.5 cups of the soup (make sure you don't have the bay leaves in there) to a blender and blend until smooth. Add pureed beans back into the soup for some texture. Stir in the lemon juice. Taste, add more salt if desired.
Serve black bean soup as is OR you can top with a dollop of sour cream and chopped cilantro. I also love to serve mine with hot sauce and fritos! :) enjoy!