So this can be made with other things than goat (lamb, top round of beef, or even inside round of venison), but honestly I have yet to find anything better than goat, and at least one friend from India claims goat is traditional. So go out there and find someone who sells it (try the middle eastern groceries first I believe something along the lines of Anz is Arabic for goat if you find someone whose English is a little shaky, but I didn't get that from a native speaker). It's cheap and lean, but failing that, lamb is acceptable, though if you want cheaper or just feel like committing Hindu blasphemy go with top round of beef. I shred it first, which is more eater friendly than is typical, but the end result is the same. Serve the stuff with a nice big pile of naan.
Here's a real general version of how I make it, though I tweak it some:
1 kg goat, in large cubes
2 bay leaves
3 black cardamoms
8 green cardamoms
6 t coriander
1 t cumin
2-3 T chopped garlic
2-3 T grated ginger
2/3 C oil
1 C chopped onion
1 t cayenne or other chile powder
4 whole dried chiles
salt, pepper to taste
2/3 C tomatoes, chopped
1/2 t tumeric
2/3 C whole milk yogurt
Late cooking:
a couple cloves chopped garlic
1-2 t ginger
Marinate goat in yogurt and salt for at least an hour.
Heat the oil in a large pot and crackle bay leaves, dried chiles, and cardamoms (I usually lightly crack open the casings of the cardamoms with a mortar and pestle). Toss in the onions and cook until lightly browned, then add ginger and garlic. Cook for a few minutes, then add coriander, turmeric, cumin, and chile powder. Add the goat with the marinade, stir for a minute or two, then add water or stock to cover. Simmer it until approaching tender, then remove the lid to cook down to the desired consistency. Add tomatoes along with late cooking garlic and ginger, and again cook to desired consistency, making sure not to cook to long as you want some of the raw taste of garlic and ginger. One of the modifications that I usually make is pulling the goat pieces out before adding the tomatoes in and shredding them with a pair of forks (into about pulled pork kind of consistency), before adding it back for the final cooking. This may not be authentic, but I think it helps the texture and how moist it is. Eat with Naan.
Double or triple that recipe if you are lucky enough to get yourself a whole bone in leg of goat. Also be prepared to spend some time breaking it down (took me more than half an hour the first time, and I'd already broken down a couple of deer by then).