Roast the poblano peppers directly over a gas flame or under a broiler until the skin is blistered and charred all over. Transfer them to a bowl and cover with plastic wrap to loosen the skin. Once cooled, peel off the blackened skins and set aside.
Heat vegetable oil in a large pot over medium heat. Add diced onion and cook, stirring occasionally, until translucent and fragrant, about 5 minutes.
Add minced garlic to the pot and sauté for another minute until fragrant, being careful not to burn it.
Pour in the ground beef and cook, breaking it apart with a spoon, until evenly browned and cooked through, about 8 minutes.
Chop the roasted poblano peppers into small strips and add them to the pot with cumin and chipotle powder. Cook for 2-3 minutes, letting the peppers soften and release their smoky aroma.
Stir in the diced tomatoes (with juice), drained beans, and broth. Bring the mixture to a gentle boil, then reduce heat to low and let it simmer uncovered for about 15 minutes, allowing flavors to meld and the soup to thicken slightly.
Taste the soup and season with salt and pepper as needed, adjusting the flavor to your preference.
Serve the hot soup in bowls, garnished with chopped fresh cilantro, cheese, or a squeeze of lime if desired. Enjoy the smoky, hearty flavors perfect for a cozy meal.