Heat olive oil in a large Dutch oven or heavy pot over medium-high heat. Add finely chopped onion and cook for 4–5 minutes until softened.
Stir in grated unsweetened chocolate, minced garlic, chili powder, dried oregano, ground cinnamon, ground allspice, and ground cloves. Cook for about 30 seconds until fragrant.
Pour in chicken broth, water, tomato sauce, tomato paste, apple cider vinegar, sugar, and Worcestershire sauce. Stir to combine.
Add ground beef to the pot, breaking it up with a spoon as you stir. Add bay leaf and bring the mixture to a gentle boil.
Reduce the heat to low and simmer uncovered for 1 hour, stirring occasionally, until the beef is fully cooked and the chili has thickened.
Stir in salt and red pepper flakes.
Remove the bay leaf and serve over spaghetti with your desired toppings. Enjoy!
Notes
Refrigerate the leftovers in an airtight container for up to 5 days.