Heat the olive oil in a large pot over medium heat.
Add the onion and saute until tender and light golden, about 10 minutes.
Stir in the garlic, chicken, cumin, oregano, and coriander and saute until chicken is white on all sides, about 5 minutes.
Add the chiles and broth and bring to a boil, then add the beans.
Reduce heat and simmer until slightly reduced, about 20 minutes or up to 1 hour.
Stir in the cilantro and green onions.
Ladle into bowls and serve, topping each with a sprinkle of cheese