Rub the skin of the chicken pieces with 2 tablespoons of the curry powder, wrap well with cling film and leave to absorb overnight in the fridge.
Heat 2 tablespoons of the oil in a pan with a lid, and fry the chicken over a medium heat, turning regularly until well browned all over. Remove the chicken from the pan and set aside.
Add a little more of the oil to the pan if needed, lower the heat and fry the onions, garlic, potatoes and red chillies until the onions have softened.
Put the chicken back in the pan and sprinkle over the remaining 1 tablespoon of curry powder, and the garam masala, then mix well to combine. Add enough of the chicken stock to just cover the chicken, put the lid on and bring to the boil.
Once boiling, reduce the heat and simmer gently for 30-40 minutes, or until the potatoes are soft and the chicken is cooked through. To test if the chicken is cooked, remove one of the larger pieces to a plate and pierce with a skewer – if cooked, the juices will run clear. If the juices remain pink, the chicken needs to be cooked for longer.
Once cooked, sprinkle with chopped spring onions and serve the curry with boiled rice or roti.