Heat your butter in a large pot over medium heat until it's foaming. Add your chopped onion and cook for about 3 minutes, stirring occasionally. You'll know it's ready when the edges start turning translucent and the kitchen smells amazing.
Stir in your minced garlic and cook for another 30 seconds until fragrant. Don't let it burn or it'll taste bitter. This quick step makes a huge difference in the final flavor.
Add your diced potato and the asparagus pieces to the pot. Pour in the vegetable broth and bring everything to a boil. Once it's bubbling, reduce heat to medium-low and simmer for about 15 minutes until the vegetables are totally tender.
While that's cooking, I usually set a timer so I don't forget about it. The asparagus should break apart easily with a fork when it's done. Mine always sticks a little to the bottom of the pan and that's completely fine.
Remove the pot from heat and let it cool for 2-3 minutes. Using an immersion blender, puree the soup until it's smooth and creamy—work in batches if you're using a regular blender. You want it totally silky, no chunks.
Pour in the heavy cream slowly while stirring, then add salt, pepper, and nutmeg. Taste it and adjust the seasonings because everybody's taste buds are different. This is where the spring asparagus soup recipe really comes together.
Heat gently over low heat without letting it boil—cream can break if it gets too hot. Stir in the lemon juice right before serving and top with Parmesan. Serve immediately while it's still steaming.