Preheat the oven to 200°C.
Place the carrots, onion and garlic cloves on a baking tray, drizzle with olive oil, season with salt and pepper, and roast for 25 minutes until golden and tender.
Reserve a few of the roasted carrots for garnish. Chop and set aside.
Squeeze the roasted garlic from its skins and place in a large saucepan with the rest of the roasted carrots and onion.
Sprinkle over the ground coriander and cumin, stir well and cook gently for a couple of minutes to release the flavour.
Pour in the vegetable stock, bring to the boil and simmer for 10 minutes.
Add the fresh coriander and yoghurt, then blend the soup until smooth using a stick blender or food processor. Adjust the seasoning to taste.
Ladle into bowls and garnish with fresh coriander leaves, chopped walnuts and the reserved roasted carrots. Serve with warm crusty bread.