Pat the lamb dry with kitchen paper and season all over with salt and black pepper.
Heat a splash of oil in a large frying pan over high heat. Brown the meat in batches on all sides until deep golden brown, about 3 to 4 minutes per side. Do not crowd the pan. Set the browned meat aside. If using neck chops, snip through the fat and connective tissue around the edges with scissors before browning to prevent the meat from curling.
In the Instant Pot set to sauté, or in your casserole over medium heat on the stovetop, heat another splash of oil and sauté the onions until softened and lightly golden, about 5 - 6 minutes. Scrape any sticky bits from the bottom.
Add the cinnamon quills, cardamom pods, and cloves and cook for one minute. Add the white pepper, ground ginger, paprika, and cumin and stir for another minute until fragrant.
Add the tomato paste, garlic, and fresh ginger and cook for a further minute, stirring continuously.
Add the chopped tomatoes and bay leaves, and stir to combine everything well. Add the red wine vinegar.
Return the browned meat to the pot along with the cubed potatoes if using. Press everything down so the meat and potatoes are as fully covered as possible with the tomato mixture.
For the Instant Pot: seal the lid and cook on high pressure for 50 minutes. Allow a natural pressure release (approximately 15 minutes) before opening.
For the stovetop: bring the mixture to a gentle simmer, cover with a tight-fitting lid, and cook over low heat for 1 hour 30 minutes to 2 hours, until the meat is completely tender and falling off the bone. Check occasionally and give it a stir, making sure nothing is catching on the bottom.
Once cooked, taste and adjust the seasoning. The gravy should be thickish and delicious. If it seems thin, simmer uncovered for a few minutes to reduce it slightly.
Serve with steamed basmati rice and plenty of white pepper.