Set a heavy Dutch oven over medium heat. Add the ground beef and cook 6 to 8 minutes, breaking it into small crumbles. Spoon off excess fat, leaving about 1 tablespoon in the pot for flavor.
Push the beef to one side. Add the onion and celery to the open space with a pinch of salt and cook until softened and translucent, 4 to 5 minutes. Stir in the garlic and cook just until fragrant, about 30 seconds.
Sprinkle in the chili powder, cumin, salt, and pepper. Stir constantly for 30 seconds to bloom the spices in the fat.
Pour in the beef broth and scrape up any browned bits from the bottom of the pot. Stir in the tomato sauce, drained diced tomatoes, and green chiles. Bring to a gentle boil, then reduce to a low simmer. Partially cover and cook for 30 minutes, stirring occasionally.
Stir in the kidney and pinto beans. Continue simmering uncovered for 20 to 25 minutes, until the chili thickens to your liking. If it becomes too thick, add a splash of broth or water; if too thin, keep simmering uncovered or lightly mash some beans against the pot to thicken.
Turn off the heat. Stir in the apple cider vinegar and adjust seasoning to taste. Let the chili rest 10 minutes before serving so the flavors settle and the chili sets up.