- 2 tablespoons vegetable oil
- 1 yellow onion, chopped
- 2 tablespoons chili powder
- 1 tablespoon unsweetened cocoa powder
- 1 tablespoon garlic powder
- 1 teaspoon ground cumin
- 1/4 teaspoon cayenne pepper
- 1 1/2 pounds ground beef chuck
- 2 cups low-sodium beef stock
- Kosher salt
- One 28-ounce can diced tomatoes
- One 8-ounce can tomato sauce
- 1 bay leaf
- One 15.5-ounce can kidney beans, drained and rinsed, optional
- 1 pound spaghetti
- 1 pound finely grated Cheddar
- 1 cup sour cream
- Oyster crackers, for serving
- Apple cider vinegar, for serving
- Red wine vinegar, for serving
Heat the oil in a medium Dutch oven or heavy pot over medium heat. Add half of the onions and cook, stirring occasionally until soft, about 5 minutes. Stir in the chili powder, cocoa powder, garlic powder, cumin and cayenne. Continue to cook until lightly toasted, 1 to 2 minutes. Add the beef, 1/2 cup of the beef stock and 2 teaspoons salt. Cook, breaking up the meat, until it's no longer pink, about 5 minutes.
Add the remaining beef stock, the tomatoes, tomato sauce and bay leaf. Simmer the mixture over low or medium-low heat, uncovered, until the chili is thick but still soupy, 1 1/2 to 2 hours. While the chili cooks, skim off any excess fat that floats to the top. If using the kidney beans, add during the last 10 minutes of cooking. Discard the bay leaf and season with salt.
When ready to serve, bring a large pot of salted water to a boil and cook the spaghetti according to package directions.