Prepare the chicken by cutting it into stripes or cubes. Add salt and pepper then let it sit preferably for a couple of hours or even overnight.
Heat skillet to high temperature, pour some oil in then sear chicken on both sides until golden brown. Leave enough space between the pieces so the escaping liquid can evaporate. Don't move the pieces once in the skillet only to check if they are done.
Remove the chicken. Pour the rest of the oil into the skillet and add the diced up onions. Stir-fry until glassy / translucent, for about 5 minutes.
Reduce the heat to low and fry until the onions naturally start to caramelize, for about 15 minutes.
Mix in garlic and stir-fry until garlic gets fragrant, 2 - 3 minutes.
Increase heat, pour in tomato sauce and water then bring it to boil. Add chili to taste if any is used.
Add any filling. Beans could take hours to cook so prepare for that or use precooked ones. Corn cooks in 3 minutes and cheese even quicker. (Don't use mozzarella, it gets gooey.)
When fillings are cooked, add back the chicken.
Bring the soup to boil then take it off heat. Chop cilantro, green onion or chives for serving. Dice up a tortilla and sprinkle it on top for a bit of fun, optionally fry them in oil like croutons.
Notes
Enjoy!Nutrition calculated without optional filling.