- Pick over the beans and discard any damaged beans and stones. Rinse the beans. Place in a bowl and add water to cover generously. Let stand for about 3 hours. Drain the beans and set aside.
- In a large, heavy saucepan over low heat, warm the olive oil. Add the onions and chili peppers and sauté, stirring occasionally, until the onions are soft, about 10 minutes.
- Add the garlic, chili powder, cumin, cayenne and oregano and sauté, stirring, for 2 minutes more.
- Add the beans, tomatoes and water to cover by 3 inches. Bring to a boil over high heat.
- Reduce the heat to low and simmer, uncovered, until the beans are very tender and have begun to fall apart, 2 1/2 to 3 hours. Add water if the beans begin to dry out but are not yet cooked.
- Season with salt and pepper. Ladle into warmed bowls, sprinkle with the cheese and serve immediately.