Vindaloo is the dish you order to find out if an Indian restaurant actually knows what it's doing. Fiery, tangy, slightly sweet, with lamb that pulls apart in a sauce built on dried chiles and vinegar — this is our from-scratch recipe that clears the bar.
Soak dried chiles in hot water for 10 minutes, then drain. Blend chiles, garlic, ginger, cumin, coriander, turmeric, red chili powder, garam masala, salt, vinegar, and sugar until smooth and thick. Add water a tablespoon at a time if needed.
Marinate the Lamb
Toss lamb with the paste until fully coated. Cover and refrigerate at least 1 hour, or overnight for best results.
Build the Base
Heat oil in a heavy pot over medium. Add onion and salt. Cook 12–15 minutes, stirring often, until deeply golden and caramelized.
Add the Lamb
Add marinated lamb to the pot. Cook 5–7 minutes, turning occasionally, until the outside is lightly seared and no longer raw-looking.
Simmer
Add 1 cup water. Bring to a simmer, cover, and cook on low for 60–90 minutes, stirring every 20 minutes, until lamb is fork-tender. Uncover for the last 15–20 minutes to thicken the sauce.
Rest and Serve
Remove from heat. Rest 10 minutes. Taste and adjust salt. Garnish with cilantro and serve with lemon wedges.
Notes
Kashmiri chiles give the best color-to-heat ratio. Add hotter chiles if you want more fire.
Jaggery is the traditional substitute for brown sugar: it's worth seeking out at an Indian grocery if you're planning to make this a lot.
Store leftovers in an airtight container in the fridge for up to 4 days; flavor improves overnight.
Reheat gently over low heat with a splash of water. Do not boil, or the lamb will toughen. Braised lamb should hit 190–205°F internal for full fall-apart texture.