Add oil to a 6-quart pot and heat on medium-high.
Add onions and slit green chilies. Fry until the onions are half brown, about 7-8 minutes.
Add the meat and braise until it is no longer pink, and the oil starts to surface on the sides of the pot, about 15-20 minutes.
Now add the ginger, cilantro paste, and spice powders. Fry until fragrant, about 1-2 minutes.
Add the tomatoes or tomato puree and sauté for about 3-4 minutes to get the raw tomato taste out.
Add 3 cups of hot water/stock, stir, cover, and cook until the chicken or meat is almost done.
The cooking time varies, but it should take approximately 40 minutes for the meat and 15 minutes for the chicken.
Add the vegetables and coconut milk and cook until the vegetables are tender—approximately 15 minutes. Remember, the cooking time varies, ensure the meat or chicken is nice and tender. Add more hot water or stock to adjust the gravy to your desired consistency.
Serve with plain boiled rice, cooked noodles, or cooked rice noodles. You can also serve it like soup with toasted bread or rolls.