Heat olive oil in a large pot over medium-high heat. Season chicken with salt and pepper, then cook until golden brown and cooked through, about 6-8 minutes. Remove and set aside.
In the same pot, melt butter over medium heat. Add onion and cook until softened, about 5 minutes. Add garlic and cook for another minute until fragrant.
Sprinkle flour over the onion mixture and stir constantly for 2 minutes to create a roux.
Gradually whisk in chicken broth, making sure to smooth out any lumps. Bring to a gentle simmer.
Reduce heat to low and stir in heavy cream. Add the cooked chicken, basil, Parmesan cheese, and sun-dried tomatoes.
Simmer gently for 15 minutes, stirring occasionally, until the soup thickens and flavors meld together. Adjust seasoning with salt and pepper.
Serve hot, topped with crispy prosciutto and extra fresh basil. Perfect with crusty bread for dipping!