First, boil your potatoes: Set a large pot of water to boil, add peeled and diced potatoes, and keep on a low boil for 15-20 minutes until they are soft (poke with a fork to test). Drain and set aside.
Meanwhile, heat up a large saucepan with 1 Tbsp butter. Add the sliced bratwurst (or other sausage) and cook for a few minutes on each side. Even if it's pre-cooked, adding a nice bit of char is great for the soup flavor. Remove the cooked bratwurst from the pan and set aside.
In the same large saucepan, melt the remaining 4 Tbsp butter over medium heat.
Add onions and saute for about five minutes, until tender.
Add flour, stirring until completely combined. Cook for one minute, then add the broth and milk.
Turn heat to medium high, then cook, stirring often, until broth begins to thicken.
Reduce heat to medium then add bratwurst, potatoes, sauerkraut and parsley. Simmer for five minutes, then add shredded cheddar.
Stir to combine and remove from heat. Serve sprinkled with black pepper and a bit of extra cheese.