Preheat oven to 150 C.
Roughly chop the onions.
Chop the celery and carrots finely.
Peel the garlic and smash with the thick end of your knife.
Spread the onion, celery, garlic and carrots evenly in a large baking tray with high edges.
Place the lamb on top of this and pour the stock and wine around it.
Add the tomatoes, chopping them up a bit with a spoon.
Add the spices, sugar and thyme and cover with thick foil tightly.
Place in the oven covered for 3 hours.
Remove the foil and cook for another hour to thicken the sauce.
Let it cool for about half an hour.
With 2 forks, remove the meat from the shoulder bone and place in a separate dish. Cover with the foil.
Place the leftover liquid and vegetables in a bowl. Remove all pieces of star anise, thyme twigs and cardamom pods.
Blend the veggies and liquid together until as smooth as possible. Use half of this to stir through the shredded meat. The other half, place in a sieve over a bowl and strain.
If you do not have enough, you can add some more wine to this and reduce to a beautiful silky sauce.
Serve the ragout on a bed of beetroot mashed potatoes
and crisp greens or carrots, with the extra sauce poured over it.