Preheat the oven to 425 degrees F.
Toss the asparagus with 1 tablespoon olive oil, 1/2 teaspoon kosher salt and 1/4 teaspoon black pepper on a sheet pan and spread into a single layer. Roast for 8 minutes until the asparagus turns bright green. Reserve about 10-12 asparagus tops to garnish the soup.
Heat 1 tablespoon olive oil in a large saucepan or dutch oven over medium heat. Add the onions and sauté for 5 minutes until they start to soften.
Stir in the garlic, 1/2 teaspoon kosher salt and 1/4 teaspoon black pepper and continue cooking until fragrant, about 1 minute.
Add the asparagus, potatoes, spinach, and vegetable broth. Bring to a boil, reduce heat and simmer for 15-18 minutes, until the potatoes are tender.
Carefully transfer the soup in batches to a blender to puree. Return the soup to the saucepan to reheat as necessary before serving.
Divide into bowls and garnish with the reserved asparagus tops, chopped parsley, flaky sea salt and pepper.