Roast the walnuts in a dry frying pan over medium heat, stirring frequently, until golden brown and fragrant.
Remove the pan from the heat, and pour walnuts onto a cutting board to cool slightly; coarsely chop the nuts.
Heat the olive oil in a saucepan over medium heat. Stir in the shallots and garlic; cook and stir until the shallots have softened and turned translucent, about 3 minutes.
Add the chopped walnuts, orange zest, orange juice, and cinnamon, and boil for 1 minute.
Puree the mixture in a blender or food processor with 1 cup of vegetable stock. Return the soup to the saucepan and pour in the remaining 3 cups of vegetable stock.
Bring to a boil; reduce the heat and simmer for 4 to 5 minutes.
Remove from heat; stir in the yogurt, and season with salt and black pepper to taste.