Place the ginger, garlic, cinnamon, coriander and chicken in a mixing bowl. Season and use your fingers to mix well.
Roll tablespoons of the mixture into bite-sized balls, place on a tray, cover and chill for 1–2 hours.
Heat 2 tablespoons of the oil in a large, nonstick frying pan, add the chicken balls and cook in batches until lightly browned. Remove with a slotted spoon and set aside.
Add the remaining oil to the pan and place over a medium heat. Add the onion and stir-fry for 4–5 minutes and then stir in the curry paste. Stir-fry for 1–2 minutes and then add the tomatoes and stock. Bring to the boil, reduce the heat to low and allow to simmer gently, uncovered, for 10–15 minutes.
Add the chicken balls to the pan and stir gently to coat with the sauce. Simmer gently for 10–15 minutes or until cooked through. Remove from the heat and garnish with chopped coriander before serving.