Step 1Place the tomatoes, onion, garlic and 1 1/2 cups of water in a saucepan and cook over medium-low heat for 1 hour, stirring occasionally.
Step 2Then puree the mixture in a blender or food processor or with an immersion blender. Pour the sauce through a fine-mesh sieve to remove tomato seeds and skin.
Step 3Taste and add up to 2 teaspoons sugar as needed (fully ripe tomatoes should not need it).
Step 4You should have 2 cups of tomato sauce. If you have more, return it to the saucepan and reduce to 2 cups, stirring occasionally.
Step 1Trim the lamb shanks of excess fat. Sprinkle 1 teaspoon of the ras el hanout, one-half teaspoon of ground black pepper, a teaspoon of salt and 2 tablespoons olive oil on the lamb shanks. Rub to coat evenly.
Step 2In a large, heavy casserole or skillet, heat 2 tablespoons of olive oil over high heat until it begins to smoke. Add the lamb shanks and cook until browned, 5 minutes on each side. Remove the shanks from the casserole and reserve. Discard the cooking oil.
Step 3Add 2 tablespoons of olive oil to the casserole or skillet and reduce the heat to medium. Add the onion and garlic and saute for 5 minutes, stirring occasionally. Add 1 teaspoon of the ras el hanout and cook 2 to 3 minutes longer.
Step 4Add the tomato sauce, the lamb shanks, the remaining 1 teaspoon of ras el hanout and enough water to cover the lamb shanks by three-fourths. Turn the shanks to coat with the sauce. When the sauce begins to bubble, reduce the heat to very low, cover and cook for 1 1/2 hours, stirring the sauce and turning the lamb shanks every 15 to 20 minutes. If you find that even at the lowest stovetop temperature the sauce is bubbling too vigorously or scorching, place the lid slightly ajar. Add water as needed if the sauce thickens too quickly or too much.
Step 5Add the pine nuts, almonds, optional peanuts and one-half teaspoon salt. Cover and cook for 45 minutes, stirring occasionally. Add the pumpkin or squash and turnips and cover and cook for 10 minutes. Add the dried apricots and raisins, honey, optional saffron and harissa, and cover and cook for 10 to 15 minutes. Remove the lamb to a platter and keep warm. If the vegetables are not cooked completely, continue cooking just until fork tender. Add additional water to the pot as necessary.
Step 6Before serving, taste and add salt and pepper as needed, and sprinkle the chopped cilantro or parsley on top.