Heat the oil in a large saucepan or Dutch oven over medium heat.
Add the onion and cook, stirring occasionally, until it begins to brown, about 10 minutes.
Stir in the garlic, optional chipotle, cumin, oregano, salt, and pepper, and cook for 30 seconds until fragrant.
Add the potato, corn, black beans, tomatillos, tomato, and zucchini.
Stir for a minute until all the vegetables are coated and shiny.
Pour in the vegetable stock, bring to a boil, then reduce the heat to a gentle simmer.
Cook, partially covered, for 15-20 minutes, or until the vegetables are very tender, especially the potato.
Remove the chipotle chile if used.
Taste the soup and adjust seasoning with more salt and pepper if needed. Ladle into bowls and garnish generously with fresh cilantro to serve.
Add a few strips of roasted poblano pepper along with the other vegetables for an extra layer of smoky flavor.