Heat 1 tsp oil in a heavy-bottomed pan. Add finely chopped ginger and garlic and saute till they start browning just a little.
Add the black peppercorns, mustard seeds, cumin seeds, coriander seeds, fenugreek seeds, cloves, cinnamon sticks, and Kashmiri red chilies and roast on low flame.
Saute the mixture until it starts to brown and the masalas will start to roast and smell nice and warm.
Turn off the heat and let the roasted mixture cool down. Once cool, transfer to a blender along with vinegar, salt, turmeric, and jaggery.
Add about 3-4 tsp water and blend to a smooth paste.
Now marinate the chicken in this paste for at least 2 hours or up to 24 hours
Once the marination is done, make the curry for chicken vindaloo.
Heat 1 tsp oil in a heavy-bottomed pan.
Add the green chilies and onions to the hot oil. Saute till the onions become golden brown.
Once the onions are cooked, add the tomatoes and cook till they become soft and mushy.
Once it is done, add homemade tomato puree and let it cook for about 2 to 3 minutes.
After 2 to 3 minutes, add the marinated chicken and the remaining marinade mixture. Mix everything well and let it cook for about 8-10 minutes.
Add 1 cup of water to it and let it cook on the medium flame, covering for 25-30 minutes till the chicken is soft and completely cooked. Once done, turn off the heat and check the seasonings and adjust to taste.
Transfer the Chicken Vindaloo to a serving bowl and serve it hot. It tastes best with rice, naan, roti, or paratha.