Makes ~ 8 bowls

Ingredients

  • 1 medium yellow onion
  • 3 cloves minced garlic
  • 2 (~ 15-ounce) cans kidney beans
  • 2 tablespoons olive oil
  • 3 tablespoons tomato paste
  • 2 pounds ground beef
  • 2 teaspoons salt
  • 1/2 teaspoon black pepper
  • 2 tablespoons chili powder
  • 1 tablespoon ground cumin
  • 1 tablespoon unsweetened cocoa powder
  • 2 teaspoons dried oregano
  • 1 teaspoon paprika
  • 1/4 teaspoon cayenne pepper
  • 1 (28-ounce) can fire-roasted crushed tomatoes
  • 1 (14.5-ounce) can low-sodium beef broth

Instructions

  1. Dice onion
  2. Drain and rinse beans
  3. Heat olive oil in a large pot over medium heat until shimmering
  4. Add onion and cook, stirring occasionally, until softened, ~ 3-5 minutes
  5. Add garlic and cook until fragrant, ~ 1 minute
  6. Add tomato paste, stir to coat the onions, then cook until darkened in color, ~ 2-3 minutes
  7. Add ground beef, salt, and black pepper
  8. Cook, breaking up the meat with a wooden spoon, until browned and cooked through, ~ 6-8 minutes
  9. Add chili powder, ground cumin, unsweetened cocoa powder, dried oregano, paprika, and cayenne pepper (if using), then stir to coat the meat and cook for 1 minute more
  10. Add beans, crushed tomatoes, and beef broth, then stir to combine
  11. Bring to a boil then reduce heat to maintain a gentle simmer
  12. Cook, stirring occasionally, until the mixture is slightly thickened, ~ 30-40 minutes