Two 12.3-ounce packages firm silken tofu or 3 ½ cups cookedor two 15- to 16-ounce cans, drained and rinsed large white beans (cannellini or Great Northern)
Heat the oil in a small soup pot, and add the onion. Sauté over medium heat until the onion is golden. Add the garlic and continue to sauté until the onion is very lightly browned.
Pour in 1 cup of water and the bouillon cubes. Bring to a simmer and cook until the bouillon cubes are dissolved.
Transfer the onion mixture and a little of the liquid to a food processor or blender. Add the tofu or beans and process until smoothly pureed. Set aside until needed.
In the same soup pot, combine the mushrooms with whatever water remains in the pot. Cover and cook until the mushrooms until tender, about 8 minutes.
Transfer the mixture from the food processor back to the soup pot and stir to combine with the mushrooms.
Add the nondairy milk, more or less as needed to make a slightly thick base.
Heat gently, especially if using silken tofu — you don’t want to bring this to a boil, or even a rapid simmer, as the tofu will curdle.
Once the soup is hot, season with salt and pepper. Serve at once, or, if time allows, let the soup stand off the heat for an hour or so, then heat through as needed.
Garnish each serving with parsley or basil, if desired, and if you'd like, pass around some croutons.