Peel beets and halve or quarter them. Cut into thin slices (using a mandoline, if available). Peel onions and finely chop. Peel garlic and chop finely. Melt butter in a saucepan and fry the onions and garlic until soft. Add beets and cayenne pepper and cook while stirring for 2-3 minutes.
Add stock and bring to a boil, then reduce the heat and simmer covered until the beets are tender, 20-25 minutes. Clean the mushrooms and cut into thin slices. Add the mushrooms to the beets during the last 5 minutes of cooking. Season with salt and pepper. Pour soup into glasses, top with a thick dollop of sour cream and serve immediately.