Heat the olive oil in a large pot over medium heat.
Add the chopped onion with a pinch of salt and sauté until translucent and tender, about 5 minutes.
Stir in the garlic, asparagus pieces, and cannellini beans. Season with salt and pepper and stir to combine.
Pour in the vegetable broth and increase the heat to bring the mixture to a boil.
Reduce the heat to a simmer and cook until the asparagus is fork-tender, about 5–10 minutes.
Turn off the heat and let the soup cool slightly.
Carefully blend the soup in batches until smooth and creamy, filling the blender no more than one-third full and leaving the lid slightly ajar to let steam escape.
Return the blended soup to the pot to warm through if needed, then taste and adjust seasoning before serving.