When it comes to dinner parties, I often cook lamb. It's available year-round (except for the extra-tender, pale pink-fleshed spring lamb) and has so much flavour that it's hard to ruin. I usually roast lamb leg to medium-rare but, with lamb shoulder, which has more fat and connective tissue, I use a moist heat and cook it slowly for a long time, so it's tender but not dry.

Slow-cooked lamb shoulder with ras el hanout, preserved lemon and peas

If you have time to plan in advance, salt the lamb two days before cooking it and refrigerate it. The next day, rub it with the ras el hanout spice mixture before refrigerating it again. The lamb needs about five hours to cook to make it very tender. If the lamb shoulder you buy has the neck and ribs still attached, have the butcher trim them off as close to the bones as possible (save the bones to make soup).

Ras el hanout means "top of the shop" and is a spice blend that varies from cook to cook. The mixture I give is adapted from a recipe in Paula Wolfert's book Couscous and Other Good Food from Morocco. She calls for whole spices that you grind yourself in a spice grinder (mine is a burr-type one for coffee beans). Some of the dried spices, such as mace, galangal and ginger, don't grind that well in the coffee grinder, so for these I buy the pre-ground stuff. It's essential that all the spices - whole or ground - are fresh; open the jar and take a sniff - if the scent has faded, so has the flavour; throw it away and buy more. All the spices in the recipe are whole and dried, unless indicated otherwise. It takes awhile to assemble all these spices - I had to search in three shops, including one that specialises in Indian products. You won't need all of the ras el hanout; keep the remainder in a tightly sealed glass jar and try to use it within three months.

You can buy preserved lemons (also called salted lemons) in jars at City'super.

For the ras el hanout:
1 nutmeg
3 rosebuds
1/8 tsp lavender flowers
5 grams Sri Lankan/Ceylon cinnamon stick
¼ tsp anise seed
¼ tsp chilli flakes
2 cloves
6 allspice berries
5 green cardamom pods
1 black cardamom pod
¼ tsp white peppercorns
1 tsp ground ginger
¼ tsp galangal powder
½ tsp ground mace

For the lamb:
1 bone-in lamb shoulder (neck and ribs removed), about 2.3kg
10-15 grams ras el hanout
10-15ml extra-virgin olive oil
About 500ml unsalted chicken stock (preferably home-made) or dry white wine (or a mixture of the two)
18 baby onions
12 whole garlic cloves
2 or 3 small preserved lemons
500 grams frozen petits pois
Fine sea salt

Make the ras el hanout. Use a nutmeg grater or rasp grater to finely grate the nutmeg. Put the rosebuds, lavender flowers, cinnamon stick, anise seed, chilli flakes, cloves, allspice berries, green and black cardamom pods and white peppercorns in a spice grinder (or coffee grinder). Finely grind the spices, then put them through a large-holed sieve to remove any coarse bits. Mix these spices with the nutmeg and the ground ginger, galangal and mace.

Use paper towels to dry the surface of the lamb shoulder. Sprinkle salt lightly but evenly over the entire lamb shoulder. If you're cooking it the same day, leave it at room temperature for an hour. Mix 10-15 grams of the ras el hanout with 10-15ml olive oil and rub this evenly over the entire surface of the lamb, massaging it into the meat. Leave at room temperature for an hour.

Trim the ends from the baby onions to expose the flesh. Bring a small pot of water to the simmer, add the onions and blanch for 30 seconds. Drain them, then peel off the skin. Peel the garlic cloves. Rinse the preserved lemons with water, then quarter them through the stem.

Preheat the oven to 160 degrees Celsius. Put the lamb shoulder in a roasting pan and add 200ml of the chicken stock and/or wine, taking care to pour the liquid around the meat, rather than over it, which would wash off the spices. Add the onions, garlic and preserved lemons to the pan. Use aluminium foil to cover the lamb, wrapping it as tightly over the pan as possible. Put the pan in the oven and cook at 160 degrees for about five hours, or until tender. Check the lamb every 45 minutes, adding chicken stock and/or wine as needed (you only need a thin layer at the bottom of the pan; it creates steam and helps to keep the meat moist). When the lamb is tender (you should be able to pierce it easily with a small paring knife), increase the heat to 250 degrees. Add the peas to the roasting pan and sprinkle them with salt. Roast, uncovered, for about 30 minutes, stirring the peas every 10 minutes, or until the surface of the lamb is lightly browned. Rest at room temperature for 15 minutes before carving the meat against the grain.

Styling: Nellie Ming Lee