Trim ends of asparagus either with a knife or by breaking off the ends with your hands.
Fill a large saucepan with an inch of water. Put a steamer basket into the saucepan.
Bring the water to a boil over high heat.
Add asparagus and turn heat down to medium-high. Cover pot and steam asparagus for 3-4 minutes, moving them around a couple of times to cook evenly. When the asparagus is just barely fork-tender, remove the steamer basket, and rinse asparagus under cold water. Then place on a clean kitchen towel or paper towels to dry.
Bring a medium pot of water to boil, then add eggs. Boil for 7 minutes.
Fill a medium bowl with ice water.
When eggs are done, remove from pan and place into ice water bowl. When eggs are cool enough to handle, peel them carefully (since they are soft-boiled, they will not feel firm like a hard-boiled egg).
While asparagus and eggs are cooking, whisk together lemon juice, lemon zest, dijon mustard, and shallots in a small bowl.
Slowly pour in olive oil, while whisking continuously. Add in salt and pepper, then taste and add more seasoning if desired.
Add asparagus to a large serving platter, then drizzle with vinaigrette.
Slice eggs in half and arrange over asparagus.
Pull off strips of prosciutto and arrange over asparagus.
Shave parmesan cheese over the top using a vegetable peeler.
Season with salt and pepper, and serve!
Notes
If your asparagus has quite thick stalks, use a vegetable peeler to peel the skin, particularly on the lower part of the stem. The skin on thick asparagus stalks can be a little tough and hard to chew through if you don’t peel the outer layer. Asparagus and poached eggs is also a delicious and classic combination in French cuisine—feel free to replace the soft-boiled eggs with poached eggs in this recipe. Want to add even more flavor? A sprinkling of chopped fresh herbs like parsley, basil, or dill are lovely on this dish. Or sprinkle some chopped capers on top. A drizzle of hollandaise sauce instead of vinaigrette is also a delicious option.