Dice the onions relatively small and finely chop the garlic. Chop the mushrooms into small-ish chunks - I tend to halve the cremini then slice and cut the portobello into slices then into a dice, or smaller depending on the size.
Melt the butter over a medium heat in a relatively wide skillet/saute pan and add the onions. Cook, stirring occasionally, until they have softened and become translucent, about 3-5 minutes. Add the garlic and cook a minute more.
Add the mushrooms and cook, increasing the heat if needed. Don't be tempted to add more fat as they absorb it to start - instead stir regularly so they don't stick and the mushrooms will start to release liquids. Let all the liquids evaporate and continue to cook so that the mushrooms start to brown a little - this helps them develop flavor.
Once the mushrooms have started to brown slightly, add the flour to absorb the excess fat (it will also help thicken the sauce and mix into the mushroom mixture. Then add the paprika, thyme and black pepper, mix in and cook briefly. Add the stock, stir to ensure any browning from the pan is mixed in then bring to a simmer and cook for around 3 - 5 minutes.
Remove from the heat, allow to cool slightly then stir through the sour cream. If you feel it needs it, add a little more sour cream or add some cream (which will make it a little creamier but thinner, and has less "tang" but can be a good fit. I suggest taste first and see what you feel it needs). Serve over rice, pasta, egg noodles or spaetzle, topped with some chopped fresh parsley.