Heat butter and olive oil in a medium saucepan over medium heat until melted and lightly bubbling.
Add the chopped shallot and cook for 2–3 minutes until soft and fragrant but not browned.
Stir in the flour and whisk constantly for about 1 minute to form a light roux with a smooth paste-like texture.
Gradually pour in the chicken broth while whisking to prevent lumps, then bring the mixture to a gentle simmer.
Add the heavy cream, lemon juice, and lemon zest, stirring until the soup becomes smooth and slightly thickened.
Blend the soup with an immersion blender until velvety smooth, or carefully transfer to a blender and blend in batches.
Season with salt and black pepper, then simmer for another 2–3 minutes until the soup is hot and creamy.
Ladle into bowls and garnish with grated Parmesan and chopped parsley before serving.