1In large saucepan or pot, warm the oil over medium heat. Add the onion and cook, stirring, until tender, about 5 minutes. Add the beef and cook, stirring, until browned, about 5 minutes. Drain off any fat, if any.
2Add the tomatoes, beans, chiles, broth, chili powder, cumin, lime zest and juice, and 2 teaspoons salt and stir to mix well. Cover and bring to a boil over medium-high heat, then reduce the heat to low and simmer, partially covered, until the soup thickens, 30–40 minutes.
3Serve the soup topped with any or all of the garnishes, and serve right away.