Heat 1 tablespoon of the oil in a very large (12-inch) skillet over medium-high. Sprinkle the meat all over with salt. When the oil is very hot, add the meat in an uncrowded single layer and cook, stirring and turning regularly, until browned but still rare inside, 3 to 4 minutes. With a slotted spoon, scoop the meat onto a plate, leaving behind as much oil as possible. Add the onions to the skillet and cook, stirring regularly until richly browned but still crunchy, 4 to 5 minutes. Scoop onto the plate with the meat.
Reduce the heat under the skillet to medium. Add the remaining 1 tablespoon of the oil, along with the flour, garlic and two powdered chiles. Cook for 1 minute, stirring constantly to prevent burning. Add the broth and whisk until a smooth, thick sauce is formed.
Add the tomatoes with their juice, oregano and cumin. Bring to a boil, then reduce the heat to medium-low and simmer gently for 10 minutes. Taste and season with salt, usually about 1 teaspoon. Add the sugar if the sauce has a bitter edge. Thin with a little more broth if the sauce has thickened beyond the consistency of a light cream soup.
Add the meat and onions to the pan, along with the beans. Simmer for a couple of minutes, until everything is heated through and the meat is as done as you like. The dish is ready.