Brown the ground beef in a large pot or Dutch oven over medium-high heat. Drain off any excess grease.
Add the chopped onion to the pot and cook until softened, about 5 minutes.
Stir in the kidney beans, black beans, pinto beans, corn, diced tomatoes and green chilies, diced green chilies, tomato sauce, taco seasoning, chili powder, cumin, garlic powder, and cayenne pepper (if using).
Pour in the beef broth and stir to combine all ingredients.
Bring the soup to a boil, then reduce the heat to low, cover, and simmer for at least 20 minutes, or until heated through and flavors have melded. For best results, simmer for 30 minutes.
Serve hot, garnished with your favorite toppings.
Notes
For a creamy version, stir in 4 ounces of cream cheese at the end of cooking until melted.
To make this a low-carb option, omit the corn and beans or use a smaller amount.
This soup freezes well. Let it cool completely before transferring to freezer-safe containers.