Prick the eggplants all over with a skewer, then roast in a hot oven on an oven tray about 1 hour or until soft. Let cool. Peel and chop the flesh, discarding the skins.
Melt the butter in a saucepan and brown the shanks on all sides, working in batches. Drain on paper kitchen towels then return to the pan with the leek, stock and water. Simmer 1 hour, uncovered.
Remove the shanks from the stock and trim off all the meat from the bones.
To the stock, add the cinnamon, sweet potato and cumin. Simmer until sweet potato is soft. Discard the cinnamon stick. Add the eggplant, then blend until soup is smooth. Stir in the meat and parsley and heat through.