Combine tomatoes, yogurt, garlic, and ginger in a blender and process until smooth.
Heat oil in a large frying pan over medium heat. Add onion and fry until soft, 3 to 4 minutes, stirring constantly. Stir in curry paste and fry until fragrant, 1 minute more, stirring once or twice. Add the tomato mixture and chicken to the pan and mix together. Season with salt and pepper. Remove pan from heat.
Mix water and flour together in a bowl. Stir into the chicken mixture in the frying pan. Return pan to the heat and bring to a boil, stirring constantly, about 5 minutes. Reduce heat to low, cover, and cook until thickened, about 15 minutes more. Sprinkle with cilantro and serve immediately.