Add oil to a large Dutch oven or pot over medium heat. Once hot, add the beef and do not move it for about 2-3 minutes, to get a nice sear on it.
Start breaking apart the beef with a wooden spoon and continue cooking until no longer pink. Drain excess fat, leaving only about 2-3 tablespoons.
Add onion, garlic, and bell peppers, stir and cook for about 4-5 minutes.
Add the chopped green chiles, tomato sauce, diced tomatoes, lime juice, lime zest, and taco seasoning. Stir to combine.
Add beans, and corn if using, and add beef broth. Add first 2 cups, stir to combine, and add more if needed.
Cover and simmer the taco soup on low heat for 30 minutes, stirring occasionally. If the soup is too thick, add more broth until you get it to the desired consistency. Taste and adjust for salt and pepper.
Serve garnished with favorite toppings.