Cut you chicken into cubes and marinate with the spices mentioned above for marination.
Meanwhile, peel and dice your onion. Heat oil or ghee in a pan and add diced onions. Cook over medium heat for 3-4 minutes or until translucent.
Now add the marinated chicken and cook over high heat for 8-10 minutes or until chicken is fully cooked through.
Add heavy cream and tomato paste or sauce, whichever you are using. Mix and give it 2 more minutes. Now, sprinkle the chopped cilantro and let it cool down completely. It's crucial to cool it down completely, or your puff pastry will stick to the filling, and it will be raw while baking.
Preheat your oven to 350°F or 175°C
Now, roll a puff pastry sheet and cut it into half to get two equal-sized puff pastry sheets. On one of the sheets, layer half of the chicken filling in the center, leaving the sides for binding.
While fold the second puff pastry and use a pizza cutter or a knife and make diagonal slits, you can also make slits after covering the puff pastry.
Cover the first puff pastry with the second half and seal the sides with the help of a fork.
Beat one egg with 1 tbsp of milk or water and brush it all over the pastry.
Bake at 350°F until it's golden and crispy. It will take anywhere between 25-30 minutes.