Heat oil into a heavy bottomed nonreactive dutch oven (I recommend the 5 1/2 QT Le Creuset over medium heat, make sure the oil does not get to smoking point.Add onions, bell pepper, garlic, and all the spices (except salt) stir occasionally until the vegetables start to soften approximately 10 minutes.
Turn up the heat to med-high and add half the meat. Brown and break up into small pieces about 3-4 minutes. Add remaining beef and break up cooking for another 3-4 minutes.
Add beans, tomatoes. tomato puree and paste and 1 tsp of salt. Bring to a boil then reduce to low and simmer covered for 1 hour.
Remove cover and add 3-4 oz. of dark chocolate, stir and continue to simmer for another hour, uncovered stirring occasionally. You can add 1/4 cup of water or beef stock if the chili begins to stick to the bottom of the pan.
Serve with your favorite toppings, I add a squeeze of lime, shredded cheese, sour cream and chives. You can't have enough toppings in my mind. I have also served this as a hot dip with extra large corn chips (Fritos) for dipping.