Chop the onion, poblano and serrano. Drain the cans of beans and rinse them in a colander to remove the salt. Let them drain in the sink.
Add 1 tablespoon olive oil to a large stock pot over medium heat. Saute until soft and translucent. Add another tablespoon of olive oil, then add the 3 cups of carnitas. Mix in with the vegetables and saute for 30 seconds, scraping the crispy bits from the bottom.
Add the beans and corn to the pot, stir in with everything else.
Add the 5 cups of broth and 1 cup of heavy cream. Stir to incorporate.
Add the 2 teaspoons cumin, 1/2 teaspoon sumac, 1/2 teaspoon chili powder, 1/2 teaspoon each salt and pepper, and 1 teaspoon lime zest. Stir to incorporate. Bring to a boil and boil for 5 minutes.
Reduce heat to medium and simmer for 20 minutes. Stir intermittently, ensuring nothing sticks to the bottom. I use a wooden spoon to smash some of the beans on the side of the pot to help thicken up the soup a bit. Not too many as it's not a thick soup.
Once the soup is done, enjoy topped with sour cream, cheese, cilantro, or even some crushed tortilla chips.