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 all the time. Increase the heat to medium-high. Keep stirring until the soup thickens, about 5 minutes. Remove from heat. Season with lemon zest and cracked black pepper. Serve in warmed bowls.