Heat the vegetable oil in a medium skillet over low heat, and stir fry the shallots until browned and tender. Drain, reserving the oil, and set aside.
Place the chicken in the skillet with the reserved oil, and stir in the curry paste and curry powder to evenly coat. Pour in enough water to cover, and bring to a boil. Reduce heat, cover skillet, and simmer until the chicken is no longer pink and juices run clear.
Stir the coconut milk, tomato puree, fish sauce, palm sugar, and 1/2 the tomato wedges into the skillet. Cook and stir over low heat until the mixture is smooth and creamy. Mix in the remaining tomatoes, and continue cooking until tender. Top with cilantro and the fried shallots to serve.