Bring a large frying pan of salted water to the boil over medium-high heat. Add the asparagus and cook for 2-3 minutes or until bright green and tender crisp. Use tongs to transfer the asparagus to a plate. Cover to keep warm.
In a clean pan, add the vinegar to the water in pan. Bring the water to a simmer and then reduce heat to medium-low.
Crack 1 egg into a small bowl. Use a spoon to stir the water to make a whirlpool. Carefully pour the egg into the center of the whirlpool.
Cook for 4 minutes for a soft yolk or until cooked to your liking. Use a slotted spoon to transfer to a plate. Cover with foil to keep warm. Repeat with remaining eggs.
Divide the asparagus among serving plates. Top with an egg. Season with salt and pepper. Top with Parmesan to serve.