Combine the first six ingredients in a small bowl to make the Seasoning Mix, then add the garlic and minced ginger. Cut 4 or 5 pockets into each lamb shank by piercing the meat with a thin sharp knife and, without enlarging the point of entry, working the knife back and forth to form the pockets. Divide the seasoning mixture evenly among the pockets, and push these seasonings as far into the pockets as possible. Rub the surface of the meat with any seasoning that spills.
Heat the oil in a heavy 8-quart pot over high heat just until the oil begins to smoke, about 5 minutes. Brown the shanks in the hot oil, covered, about 8 or 9 minutes on each side. If you don't have such a large pot, a smaller one will work fine--just brown the shanks in batches. Transfer the lamb to a roasting pan.
Add the onions and bell peppers to the pot and scrape the bottom of the pot well. Add the eggplant, ginger, and tomatoes, then cover and cook, stirring occasionally, for 25 minutes. Stir in the spinach and brown sugar and cook, covered, for 5 minutes. Set the oven to 350°. Remove the pot from the heat and arrange the cooked vegetables around the lamb in the roasting pan. Roast until you can easily pull the meat away from the bones with a fork, about 1 hour and 50 minutes. To be sure the meat is completely done, test the biggest shank-if it's tender and the meat pulls away from the bone easily, the others will be done as well. Serve with the bones, or remove them first.