This is a German-style mushroom goulash, and while it's meant to be vegetarian, you can use bacon fat to cook things in and it'll be great. For a vegan option, use oil instead of butter and skip the sour cream.
Heat the butter in a large soup pot over medium-high heat. Add the sliced onion and saute until the onions are nicely browned, about 6 minutes. This is a high-heat saute, so brown edges, not a caramelization.
Chop or tear the mushrooms into pieces you'd want to eat with a spoon, remembering that mushrooms shrink dramatically once cooked. Leave small, pretty ones like tiny chanterelles or morels whole. Add them to the pot, stir well and salt everything. Let this cook, stirring often, until you get some browning on the mushrooms.
Stir in the garlic, cook another minute or two, then add the cider vinegar and broth. Make sure the mushrooms are covered, but this is a fairly thick stew, not a thin soup, so you don't need a ton of broth. Add water if you need it to cover the mushrooms. Simmer this for 20 minutes.
Add the sauerkraut and paprika, mix well, and add salt if needed. Cook another 10 minutes. Add the parsley and black pepper and serve with sour cream at the table.
Notes
For the mushrooms, use a nice mix if you can. Where I live in Minnesota, we often get chanterelles, hedgehogs, lobster mushrooms and chicken of the woods all at the same time. That makes a very pretty mix because of their color. But any edible mushroom works here.
If you use dried mushrooms, you will want about 3 to 4 ounces or more. Rehydrate them by putting the mushrooms in a bowl and pouring boiling water over them. Let this stand for 20 minutes or more, then remove the mushrooms, squeezing out excess water. Strain any debris out of the water, and use that instead of broth.