Preheat oven to 325°. In an enameled cast-iron casserole, heat vegetable oil. Season lamb liberally with salt and pepper, cook over medium-high heat until browned, about 4 minutes on each side. Transfer lamb to bowl and set aside.
Add chopped onions to the casserole and cook over moderate heat until softened, stirring occasionally, about 6 minutes.
Add the garlic and ginger, and cook for another 2 minutes.
Add the crushed tomatoes and red wine, bring to a boil and cook for 5 minutes.
Add the chicken stock and all of the spices (cloves, coriander, cardamom, cumin, cinnamon stick), bring to a boil again.
Add the lamb and cover with lid.
Braise in the oven for 2½ hours, turning once halfway through.
Remove from oven, transfer shanks to a bowl. Strain braising liquid into a large skillet and boil until the liquid is reduced by half, about 20 minutes.
Add the lamb to the skillet and cook on medium-low heat, turning a couple of times, until the meat is heated through, 5 minutes.