Heat oil in a pot set over medium heat. Add onion, garlic and carrots and cook until vegetables are slightly softened, about 5 minutes. Mix in flour. While stirring, slowly pour in stock. Add Parmesan cheese and bring to simmer. Cook until carrots are tender, about 20 minutes. Working in batches, puree mixture in blender or food processor (soup can be readied to this stage up to a day or two in advance. Cool to room temperature and then store in the fridge until needed). Return soup to the pot and bring back to a simmer. Stir in the cream. Season the soup to taste. Pour soup into bowls. Set a spoonful of pesto in the centre of each bowl, and gently swirl it into the soup and serve.