Preheat the oven to 200°C.
Pierce the lamb shoulder and insert garlic slices and rosemary into incisions.
Roast the lamb for 10 minutes until it begins to brown.
Reduce the oven temperature to 140°C.
Pour the lamb stock and red wine over the meat.
Roast for two hours, basting every 20 minutes until the meat is tender.
Heat a frying pan over high heat until smoking, then reduce to low.
Cook aubergines for 25 minutes until skins are charred and insides are tender.
Cool the aubergines, halve them, and scoop out the flesh.
Blend aubergine flesh, yoghurt, lemon juice, and garlic into a smooth paste.
Rest the cooked lamb for 20 minutes and skim fat from the roasting juices.
Heat a griddle pan with olive oil over medium-high heat.
Griddle the peppers for 5 minutes until marked and set aside.
Griddle the onion rings for 4 minutes until marked and set aside.
Griddle the courgette slices for 4 minutes until marked.
Griddle the mushrooms for 4 minutes until marked.
Combine griddled vegetables with beans, tomatoes, herbs, and feta in a bowl.
Dress the salad with olive oil, balsamic vinegar, salt, and pepper.
Mix boiling water into the meat juices to create a gravy.
Tear the meat with a fork and serve with gravy, aubergine paste, and salad.