Heat olive oil in saucepan or dutch oven over medium-low heat, then add the onions and a pinch of salt. Cook, stirring occasionally, for 5-7 minutes, until translucent and starting to brown. Stir in the garlic and cook for an additional minute.
Add the potatoes, asparagus, stock, and milk, then turn the heat up to high. Bring to a boil, then turn the heat down to low and cover. Simmer for 15-20 minutes, or until potatoes are fork-tender.
Puree the soup with an immersion blender, or in a regular blender (blending in batches if needed). Stir in a squeeze of lemon juice and season with salt and pepper to taste.
Top with croutons or serve with crusty bread.
Video
Notes
Storage InstructionsLet the soup cool completely before storing. You can keep it in an airtight container in the fridge for up to 4 days. It reheats beautifully on the stovetop or in the microwave - just give it a good stir and add a splash of water, stock or milk, if it thickens up too much.You can also freeze this soup. Transfer to a freezer-safe container and freeze for up to 2 months. Thaw overnight in the fridge and reheat gently. Give it a good whisking or blitz with an immersion blender if it has separated a bit (this may happen due to the milk in the recipe).