Heat olive oil in a large skillet, then add onions and sauté for around 3 minutes or until soft. Add garlics and sauté another 30 seconds.
Add ground beef and cook until beef has browned, mashing it with a spoon to break apart the clumps of beef while it cooks. Add the cinnamon, seven spices, salt and pepper. Drain the fat.
Pour browned beef into slow cooker, add the diced tomatoes, tomato sauce, beef broth, chili powder, cumin, paprika, cocoa powder, sugar, coriander. Season with salt and pepper to taste.
Cover lid and cook on low heat for 5-6 hours.
Once the chili has thickened and is ready, stir in the drained cans of beans and leave to cook 15-20 minutes longer. Serve with desired toppings, and alongside rice, quinoa, cornbread or on top of baked sweet potatoes!