Brown the beef in 2 oz of the oil and place in a colander to drain off the fat.
Saute the onions and garlic in the remaining oil until just browning.
Add the chili powders, paprika and cumin to the pan and sauté briefly.
Return the beef to the pan, dust with the flour and cook for 1 minute.
Add the vinegar and ketchup.
Add the tomatoes, poblano, herbs and cinnamon with the stock, bring to a boil and gently simmer for 45 minutes.
Add the beans if using and adjust the seasoning according to taste with salt.
Serve with finely chopped raw onion, grated Cheddar cheese, sour cream and fresh coriander.
Normal chili powder can be used in place of the Ancho and Chipotle if not available. Also the quantity can be increased, even adding Jalapenos, according to your tolerance of spicy food. The quantities here are adequate for average palates.