Pour a tablespoon of olive oil into a heavy pot; pour another into a large frying pan. Brown the onions and garlic in the pot. Cut the meat into 1-inch cubes and coat in a mixture of flour, salt, and pepper. Brown the meat in the frying pan. You can use ground beef (in which case forget the flour), but chili con carne is much better with chunks of meat.
Add the tomato paste, 4 tablespoons chili powder, and ½ teaspoon cumin to the browned onions and garlic in the pot. Stir until the mixture forms a roux or paste. Add 1 can of beef stock and the beer. Add the browned meat. Pour your other can of beef stock into the frying pan, scrape in any bits of beef and flour sticking to the pan, then pour into the pot. Add the bay leaf. Add the chocolate or not, as you prefer. Stir, bring to a light boil, then reduce heat to low. Partially cover and cook slowly for 2 to 4 hours.
Serve with grated cheddar cheese and corn bread.
Chili con carne purists eschew beans. I like them. Here are two compromises for bean lovers:
The easy way: add canned beans to the chili con carne about an hour before serving. I dump my beans into a colander and rinse off the thick canning liquid before adding them to the pot. I use a mixture of kidney, pinto, and black beans.
The hard way: make a pot of dried pinto beans from scratch and serve them, in separate bowls, with the chili con carne. Click here for the recipe.