In a large, heavy pot (I prefer to use my ceramic lined dutch oven pot) brown your sausage over medium high heat, until fully cooked. Transfer the sausage to a plate or bowl and set aside, leaving any remaining grease in the pot. If there is not much grease still in the pot, add 1 Tbsp of butter and allow to melt.
Into the same pot, add the diced carrots, celery, and onion. Saute until the onion begins to turn translucent and the veggies are slightly tender. Add the garlic and saute for another minute.
Add the potatoes, seasonings (basil, parsley, salt, pepper), and chicken broth/stock to the pot. Stir to combine and bring to a boil. Reduce the heat to a simmer and cover with the lid. Cook for another 15-20 minutes until the potatoes are fork tender.
While the soup is simmering, make the cream sauce. In a medium saucepan, melt the remaining 4 Tbsp of butter over medium heat. Add the flour and whisk constantly for about 1 minute. It will get quite thick and clumpy initially, but then will start to spread as it heats and melts. Continue to whisk as you slowly pour in the milk. Whisk until smooth, then allow the sauce to cook and thicken, stirring regularly. After just a few minutes, the sauce should be thick. Add in the heavy cream and stir to combine. Remove from heat.
Once all the vegetables in the soup pot are tender, pour the cream sauce into the soup and mix well to combine. Add the grated cheese and stir to melt. Stir in the sour cream, and then add the sausage back into the soup. Give it a taste test, and adjust any salt and pepper as needed. Serve and enjoy!