Heat oil in a large saucepan over medium-low heat. Add onion, garlic, oregano, cumin and cinnamon. Cover and cook until onion is almost tender, stirring occasionally, about 10 minutes.
Mix in chili powder and flour; stir for 3 minutes. Gradually whisk in chicken broth. Increase heat to medium-high; boil until reduced, about 35 minutes, stirring occasionally.
Remove from heat. Whisk in chocolate; season with salt and pepper, if desired.