Blend shallots (or onion), garlic, and ginger with ¼ cup (60ml) water. Transfer to a bowl. Add curry powder, ground cumin, fennel, and chili. Mix to form a paste.
Heat vegetable oil in a medium sized pot. Stir fry cinnamon stick, star anise, curry leaves, and spice paste over medium heat until fragrant, about 4 to 5 minutes. Add chicken and stir until chicken turns opaque, about 3 minutes. Pour in ½ cup (120ml) water. Cover and bring to a boil. Reduce heat and simmer for 10 minutes.
Add cubed potatoes, coconut milk, and salt. Bring it back up to a boil, reduce heat, and continue to cook for another 15 minutes or until potatoes are tender.
Turn off stove and allow curry to sit for 10 minutes before serving.