Heat the olive oil in a large saucepan or casserole dish and add the garlic, onion, chilli, ginger, peppers and carrots and stir fry for 4-5 minutes. Add the plum tomatoes and allow to soften.
Add all the remaining ingredients except the chicken. Bring to the boil, stirring gently to allow a creamy sauce to form. Season to taste with salt and pepper and cook for 5-6 minutes before adding the chicken pieces. Simmer on a low heat for 8-10 minutes until the chicken is cooked through. If the sauce needs thickening add a little more peanut butter, if it’s too thick add a little more chicken stock or water.
Taste before serving and season further if needed. Serve topped with toasted peanuts and steamed vegetables.