Put the onions and garlic in the food processor.
In a large Dutch oven over medium heat, cook the onion, garlic, and red chile until soft, about 10 minutes. Add the cardamom, cumin, coriander, cinnamon, and pepper flakes.
Cook the onion and spice mixture for a minute or two. Take the chorizo out of the casing and add to the pot.
Add the beef and cook until it starts to brown.
Add the beans, tomato paste, ketchup, diced tomato, and water. Bring the chili to a boil.
Once the chili comes to a bubble, add the chocolate chips. Stir the chips in until they melt. Cover the pot and put in a preheated 300 degree oven. Cook the chili for 3 more hours. Give a taste and check to see if you need salt and pepper.
Top with cheese and cilantro.