Heat oil in a dutch oven over medium-high heat and add the onion. Stirring occasionally, cook until translucent, about 5–7 minutes. Add garlic, salt, and pepper. Cook for 1 minute, stirring constantly. Add the broth and bay leaf. Bring to a boil over high heat. Reduce heat to low and simmer for 10 minutes.
Remove and discard bay leaf and add beans, ham, and green chiles. Continue to simmer on medium-low heat for 5 minutes.
Stir in greens. Cook, stirring often, until greens are wilted and slightly softened, 2–3 minutes.