In a 4 qt+ pot heated over medium high heat, sauté the sliced onion for 2 minutes in a splash of vegetable broth until soft and fragrant.
Add in the minced garlic and sauté for another minute, stirring constantly to prevent the garlic from burning.
Add in the white wine vinegar, mushrooms, and black pepper and sauté for 5 minutes, or until the mushrooms have reduced in size and darkened in color. If anything is sticking to the bottom of the pot, add in a splash of vegetable broth as needed to deglaze the bottom.
If desired, remove 1 cup of mushrooms from the pot to stir into the soup. Set aside. (You can also chop the mushrooms to desired texture).
Add in the broth, milk, and cashew butter and stir to combine. Bring to a low simmer, then reduce the heat to low and cover the pot for 5 minutes.
Blend the soup smooth with an immersion blender or transfer to a blender, blending in batches as necessary.
Stir in reserved mushrooms (if set aside) and serve immediately with black pepper.
Notes
You can use any mushrooms you have. A mixture of mushrooms would even work.
I recommend using low sodium vegetable broth to make this mushroom soup. I tested this recipe with vegan beef broth and vegan chicken broth but both were way too salty, in my opinion. Especially if the cashew butter you are using is already salted. If you are using an unsalted cashew butter, you may get away with using a full sodium broth but less is more, if you ask me!
Any plant-based milk will work. Just make sure it is truly unsweetened. Full fat coconut milk will make the richest, creamiest mushroom soup.