Combine all of the marinade ingredients in a bowl, add the goat meat and coat well. Cover and refrigerate for at least 4 hours or overnight.
Melt the ghee in a large soup pot. Add the mustard seeds and cinnamon and cook over high heat until the seeds pop. Stir in the cloves and fennel seeds. Add the onions and sauté with the salt, garlic, ginger, cayenne and coriander. Cover the pot and reduce the heat to low. Allow the onions to sweat until they have given off their water—about 20 minutes.
Raise the heat to high, add the goat meat and its marinade and mix well. Stir in the black pepper, bay and curry leaves and turmeric, bring to a boil, cover and reduce the heat to a brisk simmer. Cook, checking and stirring often, until the meat is cooked through—about 30 minutes.
Return the heat to high and stir in the tomatoes. Bring to a boil and reduce the heat to a simmer. Cook, covered, until the meat is tender—about 1 hour. Taste and adjust the seasoning. Garnish with fresh cilantro leaves and serve with rice or boiled potatoes.