Heat olive oil in a Dutch oven or large pot over medium heat. Add the diced onion and cook for 3–5 minutes until softened. Stir in the minced garlic and cook for another minute until fragrant.
1 cup yellow onion, 3 cloves garlic, 2 tablespoons olive oil
Mix in the tomato paste and cook for 2–3 minutes, stirring frequently, until it deepens in color. Add the ground beef, season with salt and pepper, and cook, breaking it apart with a spoon, until browned, about 6–8 minutes.
2 pounds ground beef, 2 teaspoons salt, ½ teaspoons freshly ground black pepper, 3 tablespoons tomato paste
Sprinkle in the chili powder, cumin, cocoa powder, and oregano. Stir well and let the spices toast for about a minute to enhance their flavors.
2 tablespoons chili powder, 1 tablespoon ground cumin, 1 tablespoon unsweetened cocoa powder, 2 teaspoons dried oregano
Add the kidney beans, fire-roasted crushed tomatoes, and broth. Stir everything together and bring the mixture to a boil.
2 cups kidney beans, 2 cups fire-roasted crushed tomatoes, 2 cups low-sodium beef or chicken broth
Reduce the heat and let the chili simmer for 30–40 minutes, stirring occasionally, until thickened. Remove from heat and stir in the apple cider vinegar. Taste and adjust seasoning if needed.
1 teaspoon apple cider vinegar
Serve warm with your favorite toppings, such as shredded cheese, sour cream, or fresh cilantro.
Sour cream or plain Greek yogurt, Shredded cheddar cheese, Thinly sliced scallions, Diced avocado, Fresh cilantro, Tortilla chips