Heat a large skillet over medium heat and add 1 tablespoon olive oil. Add 1 medium yellow onion (diced) and sauté 3–4 minutes until softened.
Add 4 cloves garlic (minced) and cook about 30 seconds, until fragrant.
Add 2 pounds ground beef and cook 6–7 minutes, breaking the meat with a spoon, until no longer pink and onions are soft.
Drain excess fat from the skillet. Transfer the beef-onion mixture to a large slow cooker.
Add the following to the slow cooker and stir to combine: 2 tablespoons light brown sugar; 2 tablespoons chili powder; 2 tablespoons ground cumin; 1/4 teaspoon ground cinnamon; 28 ounces canned crushed tomatoes; 3 tablespoons tomato paste; 1 1/2 teaspoons salt; 1/2 teaspoon ground black pepper; 1/4 teaspoon red pepper flakes; 1/4 cup unsweetened cocoa powder; and 3 cups beef broth.
Cover and cook on Low for 5–6 hours or on High for 3 hours.
About 15–30 minutes before serving, rinse and drain the two 15-ounce cans kidney beans, the 15-ounce can cannellini beans, and the 1/2 cup canned sweet corn. Stir the rinsed beans and corn into the chili.
Cover and cook until the beans and corn are heated through, about 15–30 minutes. Taste and adjust seasoning if desired. Serve warm with desired toppings.