For 4 Person(s)
Put a large, heavy-bottomed pot over medium heat, and coat bottom with olive oil.
Add the chopped onions (if using) and let them sauté, stirring occasionally, until they're translucent.
Add the garlic and the chiles and sauté them, stirring to avoid burning, for a minute or two.
Now add the tomatoes and a good pinch of salt. If you are using whole canned tomatoes, use a wooden spoon to break them up as they cook.
Add the beans, and let the tomato mixture cook and reduce for a few minutes, stirring occasionally to avoid any sticking to the bottom and burning.
Now, take the same container the tomatoes came in—whether store-bought can or home jar—and fill it with water. Add the water to the pot, and bring to a boil.
Turn heat to low, correct for salt, and prepare to serve.
Add grated cheese (if using) to an empty soup bowl. Now give it a big squeeze of lime juice—at least half a lime. Cover top with final garnishes—chopped greens, and if you're using them, cabbage and avocado slices.