Heat a pan over medium- high heat. Add two tablespoons of oil and when the pan is hot enough, add the chicken. Sauté the chicken until it's just cooked and a little coloured. Remove the pan from the heat when done.
Whilst the chicken is cooking, place another pan over medium heat. Add 1-2 tablespoons of oil and cook the onion for at least five minutes or until it is softened and aromatic. Don’t rush this step.
Add the ginger and garlic and stir for a minute. Turn the heat down if it is cooking too quickly.
Add the curry paste and the ground spices and stir to toast & to increase the flavour. Do this for about a minute and then add the carrots and potatoes and stir.
Add the coconut milk, sugar, lime zest and fish sauce.
Bring the mixture to a boil, then lower the heat to a simmer. Add the chicken to the pan and cook until the curry has thickened, and the veggies are tender, which will be approximately 10-15 minutes.
Turn the heat to very low. Add the lime juice to the pan and taste to make any adjustments required. Add sea salt & pepper, to your taste. Stir to combine.
Turn the heat off. Add the baby spinach. Stir and allow it to wilt for a minute or two.
Serve the curry with your choice of toppings and steamed rice or noodles.