In a mortar, pound the onion, garlic and ginger into a paste. Set aside. You can also use a blender or food processor.
Add some salt and turmeric to the chicken pieces and mix well to coat. Set aside.
Using high heat, add 1 tablespoon olive oil in a pan. When the pan is really hot, add in chicken pieces and leave them untouched for 2-3 minutes to get nice crust. Flip and cook for another minute. Take them out from the pan and set aside. Reduce heat to medium.
Add in cinnamon stick, cardamom pods, cloves and star anise into pan. Stir for a few seconds to release their fragrance. Add in the onion paste mixture and chilli powder. Mix well and cook until it becomes soft.
Add in water, dark soy sauce, oyster sauce, tomato sauce, sugar and browned chicken, mix well. Cook for 5 minutes until the sauce reduces and slightly thickens.
Add in onion rings, green and red chilli. Cook until onion rings are soft. Ready to serve.
Notes
This dish is usually eaten together with white rice.