Warm a large skillet over medium-high heat and add a drizzle of oil. Add the ground beef and break it up with a spoon.
Cook until browned and most of the moisture cooks off, about 6–8 minutes. Drain excess fat if needed.
Stir in the diced onion and bell peppers. Cook 3–4 minutes until slightly softened. Add the garlic and cook 30 seconds, just until fragrant.
Sprinkle in chili powder, cumin, smoked paprika, oregano, crushed red pepper flakes (if using), salt, and black pepper.
Stir 1 minute to toast the spices.
Transfer the beef mixture to the slow cooker. Add crushed tomatoes, tomato sauce, beef broth, black beans, kidney beans, and tomato paste. Stir to combine.
Set the slow cooker: Cook on Low for 6–8 hours or on High for 3–4 hours.
The longer time on Low yields deeper flavor and a thicker texture.
About 30 minutes before serving, stir in cocoa powder if using. Taste and adjust salt and spices. If you want a bit more brightness, stir in apple cider vinegar or a squeeze of lime.
Serve hot with your favorite toppings.
For extra protein, top with a dollop of plain Greek yogurt and a sprinkle of shredded cheddar.