Chili is all about chiles. With an "i," chili is the spicy bean and tomato stew. With an "e," chiles are the fruit (yes, fruit, seeds are inside and they can grown into new plants!) that make chili spicy. Now that that clarification is out of the way, here's the bottom line: the chili powder makes all the difference. It is SOOO much better if it's homemade. Why? Not sure, but my guess is that 1) the chiles you put into it are fresher... and once ground and sitting on a Safeway shelf for months, a chili powder loses freshness quickly. 2) you can use any variety of chiles you want. My guess is that most commercial chili powders are the cheapest chiles available.
You can make your own chili powder a million different ways, but here's one incredible recipe from Alton Brown, my favorite TV chef. I've made mass quantities of AB's chili powder and given it as Christmas gifts before. AB's chili powder recipe takes care of all the spicing requirements. The only additional spices I add are fresh garlic (cause garlic makes everything better) and cinnamon, which kind of magically melds the flavors together. I try to add just enough to accomplish this, but not overwhelm the chiles. It's easy to add too much, so be light with the shaker.
Since I'm not a meat fan, I like to add some bulgar wheat to chili. Not as a meat substitute, but to give the chili some extra al dente appeal. I make it with quinoa instead sometimes but bulgar is better. Also, a writer at Serious Eats has done a much more scientific analysis of his chili recipe, it's a very good article. The part about the meat is especially interesting for you meat-eaters.
And for serving, be sure to provide all the fixins (listed below the recipe), along with some cornbread.
0.75 cup bulgar wheat
1.5 cups water or tomato juice
2-3 T. oil
at least 3 T. homemade chili powder
lots of garlic (6-10 cloves)
2-3 green bell peppers
1 28 oz can crushed tomatoes
1 28 oz can diced tomatoes
0.25 to 0.5 t. ground cinnamon
1 bag soaked and cooked black beans, or any mix of black, red, kidney, pinto, black-eyed peas. Cans are fine too, use 3 or 4.
molasses, to taste (I maybe use 0.25 c.)
soy sauce, to taste (just a few dashes)
optional add-ins: frozen or fresh corn, spinach
1. Cook bulgur according to package directions (in the water or juice, usually a 1:2 ratio). Set aside.
2. Heat the oil in a big pot over medium. Cook the onions, carrot, salt, and chili powder till the crunch is just barely taken off. Stir often.
3. Add the garlic and peppers. Saute till the crunch is barely taken off the peppers. Stir often.
4. Add the tomatoes and cinnamon. Turn the heat to low, and cook for at least half an hour (an hour is better), stirring occasionally. The tomatoes should lose some acidity and turn a more orangey shade of red.
5. Add the beans, bulgar, molasses, soy sauce and corn and spinach (if using), and cook another half hour more. Add additional water or tomato juice if it is too thick for your liking.
6. As you are going, adjust seasonings. I usually end up adding a LOT of chili powder. The cinnamon shouldn’t really be tasteable, but somehow it tends to bring all the flavors together.
Serve with grated cheddar cheese, sliced avocados, plain greek style yogurt (I can't get enough of Mountain High plain lowfat) or sour cream, shredded green cabbage or lettuce.