Place the ground beef in a large heavy-bottom pot or Dutch oven. Pour about 2 cups of cold water over the beef, ensuring it is fully submerged. Bring the water to a boil over medium-high heat, stirring frequently and breaking up the beef with a fork into very fine crumbles. Continue boiling gently until the beef is cooked through, about 30 minutes.
Add the chopped onions, tomato sauce, apple cider vinegar, garlic, Worcestershire sauce, and chocolate (if using) to the pot with the cooked beef. Stir well to combine.
Add the chili powder, salt, cumin, cinnamon, cayenne pepper, allspice, and cloves. Stir until the spices are evenly distributed.
Bring the mixture to a boil. Then, reduce the heat to low to maintain a gentle simmer. Cover the pot partially with a lid, leaving a small gap to allow steam to escape. Cook the chili for 3 hours, stirring occasionally. Add water, a few tablespoons at a time, if the chili becomes too thick or begins to stick to the bottom of the pot.
Once the chili has cooked for 3 hours, taste and adjust seasonings as needed.
Serve hot over cooked spaghetti. Add optional garnishes like shredded cheese, diced onions, cooked kidney beans, and oyster crackers.