SAUSAGE: Line a large plate with paper towels and set aside. Heat a very large pot (I recommend cast iron), over medium-high heat. Once hot, add in the sausage. Let stand without touching for 30 seconds to a minute. Then stir and chop the meat until you have sausage crumbles. Transfer to prepared plate and drain off any grease except for 1 tablespoon. If there is no grease, add 1 tablespoon olive oil to the pot.
VEGGIES: In the same pot with 1 tablespoon sausage grease or olive oil, melt 1 tablespoon of the butter. Add the diced carrots, celery and onion and sauté 5-7 minutes or until tender (if not diced small, you may need 7-10 minutes). Add garlic and sauté 30 seconds more.
POTATOES AND SEASONING: Stir in the chopped potatoes, dried basil, dried parsley, salt and pepper to taste (I add 1 teaspoon fine sea salt and 1/2 teaspoon freshly cracked pepper, but add to preference and don't forget to taste and adjust at the end!). Stir. Add in chicken stock or broth. Bring to a boil over medium-high heat, then reduce heat to medium, cover with lid and cook 15-20 minutes or until the potatoes are fork tender (easily pierced with a fork).
CREAM SAUCE: Meanwhile, melt remaining 4 tablespoons butter in a medium saucepan over medium heat. Stir in flour and cook, whisking constantly, for 1 minute. While whisking vigorously, slowly pour in milk (whisk well until smooth). Cook, stirring constantly, until mixture begins to gently boil and thicken; stir in the heavy cream.
FINISHING: Remove sauce from heat and once all soup veggies are tender, pour the milk/cream mixture into the soup and stir. Lower heat to low and stir in the shredded cheese. Heat until cheese is melted. Stir in sour cream, return the sausage into the soup and season to taste with salt and pepper. Serve warm with freshly chopped parsley or thyme and bread!