Add first 9 ingredients (through broth) to a slow cooker/crockpot. Cover and cook for 2 hours on high or 4-8 hours on low.
About 30-40 minutes before serving transfer soup to a blender or food processor and puree until smooth, then return to crock pot.
Prepare the roux. Melt butter in a medium sauce pan over medium heat. Add flour to melted butter and stir until flour clumps up. Slowly whisk in the heavy cream (or half & half) until mixture is thickened and smooth.
Add roux and parmesan cheese to crockpot and stir to combine.
Top with additional basil and parmesan cheese if desired.