Heat a large skillet over medium-high heat and brown the ground beef, breaking it apart as it cooks, until no pink remains (about 5-7 minutes). While the beef cooks, dice the onion into 1/4-inch pieces and mince the garlic fresh. Once the beef is cooked through, drain any excess fat and set the beef aside. I always brown the meat separately first because it develops better flavor through direct contact with heat, creating a deeper, richer foundation for the chili compared to cooking it raw in the slow cooker.
Add the browned ground beef from Step 1 to your crockpot along with the diced onion and minced garlic. Pour in the crushed tomatoes, water, and salsa. Drain and rinse both the kidney beans and black beans under cold water, then add them to the pot. Stir in the corn, taco seasoning, salt, and freshly ground black pepper. Stir everything together thoroughly to combine all flavors evenly and ensure the taco seasoning is well distributed throughout the liquid.
Cover the crockpot and cook on low for 6-8 hours, or on high for 3-4 hours if you're short on time. The low and slow method allows the flavors to meld beautifully and the beans to soften completely, creating a more cohesive dish. I prefer the low setting because it develops the taco flavors more fully and keeps the texture of the beans intact rather than having them break down too much.
Once the chili has finished cooking, give it a good stir and taste a spoonful. Add more salt, pepper, or taco seasoning if needed to reach your preferred flavor level. The cooking time allows some flavors to mellow, so don't be shy about adjusting the seasoning at the end.
Ladle the hot chili into bowls and serve with your choice of toppings such as shredded cheese, sour cream, diced onions, jalapeƱos, cilantro, or tortilla chips. The chili is hearty and flavorful on its own, but toppings add nice contrasts in texture and flavor.