In a large pot, heat a drizzle of oil over medium-high heat. Add onion, chilies, spices and herbs to the oil, cooking until you smell the aroma from the spices as they release their oils.
Next add the garlic, tomatoes and chicken to the pot, stirring to coat the chicken pieces with the mixture. Cover with a lid and turn heat down to low as the mixture starts bubbling. Allow to cook for 25 to 30 minutes or until chicken is falling off the bone.
Remove the chicken from the pot, leaving the rest of the ingredients to cook, simmering the liquid down. Stir often to keep from sticking to the bottom of the pan.
Shred chicken from the bone, removing the skin, gristle pieces, and bone. Return the shredded chicken and the fresh cilantro to the reduced sauce in the pan, stirring in, to coat with sauce.
Remove the pan from the heat and serve the chicken warm with tortillas, cabbage, crema fresca, and cheese, if desired.