Heat olive oil in a soup pot over medium-high heat. Add the onion, and cook for a few minutes until translucent. Stir in the asparagus, garlic, salt, and pepper, and cook for 3 to 5 minutes. Add the broth and oat milk, bring to a boil, then cover and reduce heat to a simmer. Cook for 10 minutes or until the asparagus is fork-tender.
While the soup is cooking, warm the olive oil for the mushrooms in a large skillet over medium heat. Add the mushrooms and salt, and cook for 5 to 7 minutes, stirring only once or twice, until the mushrooms are browned. Stir in the parsley and balsamic vinegar, and cook for a few more minutes until the mushrooms have fully absorbed the vinegar. Remove from heat.
When the soup is finished cooking, turn off the heat. Use an immersion blender to blend the soup right in the pot. If you don't have an immersion blender, see the notes for instructions on how to safely use an upright blender.
Ladle the soup into bowls, and top with a large spoonful of the mushrooms. Drizzle with balsamic reduction before serving.