In a large pot or Dutch oven, heat the olive oil over medium heat.
Add the chopped onion and sauté until softened, about 5 minutes.
Add the ground beef (or turkey) to the pot and cook until browned, stirring frequently for about 7-10 minutes. Drain excess fat if necessary.
Stir in the taco seasoning, black beans, kidney beans, corn, diced tomatoes, and beef broth. Mix thoroughly to combine.
Bring the soup to a boil, then reduce heat and let it simmer for 20-25 minutes, stirring occasionally.
Taste and adjust seasoning with salt and pepper if needed.
Serve hot, and garnish with optional toppings such as shredded cheese, sour cream, chopped cilantro, avocado, or tortilla chips as desired.