In a small pan, dry roast cumin, coriander, mustard seeds, cloves, cinnamon, and peppercorns over medium heat until fragrant (about 2-3 minutes). Let cool, then grind to a fine powder. Mix with turmeric, paprika, and salt. Add vinegar to form a thick paste. Set aside.
In a large bowl, coat the pork or chicken cubes with the prepared spice paste. Let it marinate for at least 2 hours, or overnight in the refrigerator for a deeper flavour.
Heat vegetable oil in a deep pan over medium heat. Add finely chopped onions and cook until they turn golden brown, stirring occasionally to avoid burning (around 8-10 minutes).
Add minced garlic, grated ginger, and slit green chilies to the onions. Stir and sauté for another 2-3 minutes until the garlic is aromatic.
Add the marinated pork or chicken cubes to the pan. Sear the meat on all sides until browned (about 5 minutes). This helps lock in the flavors.
Pour 1 cup of water or stock into the pan and stir in 1 tablespoon of vinegar and the sugar. Bring to a simmer, then reduce the heat to low. Cover and cook for about 45 minutes to 1 hour, until the meat is tender and the sauce has thickened.
Taste the curry and adjust seasoning with more salt or vinegar if needed. For a thicker sauce, simmer uncovered for an additional 10 minutes.
Serve the Vindaloo hot with steamed rice or warm naan. Garnish with fresh cilantro, if desired, and enjoy the bold, tangy flavors. Optionally, serve with cooling yogurt or a side of pickled vegetables to balance the heat.