Dice the onion into 1/4-inch pieces and mince the garlic fresh—I find this makes a noticeable difference in the final flavor compared to pre-minced garlic. In a skillet over medium-high heat, brown the ground beef, breaking it up as it cooks, until no pink remains (about 5-7 minutes). Drain excess fat if needed, then set the cooked beef aside. Drain and rinse both the black beans and kidney beans in a colander.
Transfer the browned beef from Step 1 to your crockpot. Add the diced onion and minced garlic, then pour in the crushed tomatoes, salsa, and water. Stir in the drained black beans and kidney beans from Step 1, along with the corn. Sprinkle the taco seasoning, salt, and black pepper over the mixture, and stir thoroughly until all ingredients are well combined and seasonings are evenly 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. I prefer the low setting because it allows the flavors to meld together more thoroughly and creates a richer, more developed taste. Stir occasionally if you're around, but this isn't essential—the crockpot does most of the work for you.
Ladle the chili into bowls and serve hot with your choice of toppings. This chili is forgiving and actually tastes even better the next day as flavors continue to develop, so don't hesitate to make it ahead.