In a large soup pot over high heat, combine the potatoes, asparagus, onions, celery and water. Bring to a boil. Reduce heat, cover and simmer until the vegetables are tender, about 15 minutes. Stir in the butter.
In a small bowl, whisk together the flour and milk. Pour the mixture slowly into the soup pot, stirring constantly. Increase the heat to medium high and continue to stir until the soup thickens, about 5 minutes. Remove from heat. Season with lemon zest and cracked black pepper to taste. Serve in warmed bowls.