Heat the vegetable oil in a large Dutch oven over medium-high heat. Add the lamb cubes in a single layer and brown on all sides, about 6 minutes total. Remove the lamb to a plate and set aside.
Lower the heat to medium. Add the sliced onions to the same pot and cook until softened and lightly golden, about 8 minutes. Stir in the minced garlic and grated ginger and cook for 1 minute more.
Sprinkle in the Madras curry powder, mustard seeds, and curry leaves. Stir constantly for 30 seconds until the spices smell fragrant.
Return the browned lamb to the pot. Add the tamarind paste, lamb stock, and diced tomatoes. Season with salt and black pepper. Bring the mixture to a gentle simmer.
Cover the pot, reduce the heat to low, and cook for 1 hour and 30 minutes, stirring occasionally, until the lamb is fork-tender and the gravy has thickened.
Taste and adjust salt if needed. Serve the stew over steamed rice and finish with a sprinkle of fresh cilantro.