In a large heavy bottomed pot/dutch oven over medium heat, add the bacon directly into pot and cook until bacon releases its fat and cooks through completely until crispy, about 6-7 minutes. Be sure to stir the bacon often for even cooking. Then use a slotted spoon to transfer the cooked bacon pieces onto a plate lined with a paper towel, and set aside.
Add the chopped onions into the same pot and sauté the onions in the leftover bacon grease until they become translucent, about 2-3 minutes. Then add in the garlic and continue cooking together for another 1-2 minutes. Look for the onions to be golden and tender and overall mixture to be nice and fragrant.
Add in the sausage and use a wooden spoon to break up the sausage into crumbles. Cook the sausage until all pieces are browned throughout. Then season the sausage with salt, Italian seasoning, and red pepper flakes, while stirring again to combine.
Dump in the flour and stir everything together until the flour dissolves and soaks up any leftover grease. Toss in the kale and gently sauté it along with the sausage mixture for about 1-2 minutes. Then add in the potatoes along with the broth, cream, and butter. Stir everything together to fully combine and cover the pot with a lid. Reduce the heat to medium-low, and allow the soup to come up to a nice simmer for about 15 minutes. Make sure the potatoes are fork tender.
Lastly, stir in the parmesan cheese. Taste soup and adjust seasonings, if desired. If you prefer, add in the reserved bacon pieces directly into the soup or see next step.
Serve the soup warm and garnish with reserved bacon and more parmesan cheese, if desired.
