Heat the olive oil in a large saucepan over a medium heat. Add the onion, carrots, and celery and cook for 5–6 minutes, stirring occasionally, until softened.
Stir in the garlic and cook for a further minute until fragrant.
Add the chicken to the pan and cook for 3–4 minutes until lightly coloured.
Sprinkle over the flour and stir well to coat the vegetables and chicken. Cook for 1 minute, stirring continuously.
Gradually pour in the chicken stock, stirring as you go to prevent any lumps from forming.
Add the sweetcorn and bring the soup to a gentle simmer. Cover and cook for 15–20 minutes, or until the chicken is cooked through and the vegetables are tender.
Stir in the milk and double cream and heat gently for 2–3 minutes. Avoid boiling at this stage to prevent the dairy from splitting.
Add the baby spinach and stir until wilted.
Season with freshly ground black pepper and stir through the chopped parsley.
Ladle into bowls and serve warm, with wholegrain bread on the side if desired.