Using a large hole box grater, grate potatoes. Add onions and potatoes to the center of a clean tea towel. Bring sides together and twist top to squeeze potatoes in the towel to wring out as much water as possible.
Heat a large oven proof nonstick 12-13 inch skillet over medium to medium high heat. Once oil is warm, add potato and onion mixture. Season with salt and freshly ground black pepper and mix. Using a flat spatula, press potatoes firmly down into an even layer on the bottom of the pan and starting up the sides of the pan. Continue to cook, intermittently shaking the pan but not disrupting the potato layer, until bottom is golden brown, about 10 minutes. Transfer to the oven and continue to cook until potatoes are fully cooked through, about 15 minutes. Remove from oven.
While rosti, cooks, add asparagus to a skillet with just enough water to coat the bottom of the pan. Cover with lid and bring up to medium to medium high heat and allow to steam for about 3-4 minutes until tender. Remove, season with salt and pepper, and set aside.
Once rosti is out of the oven, crack eggs on top, evenly spaced. Season with salt and pepper. Return to the oven and bake about 10 minutes or so, until eggs are just set.
While eggs cook, make dressing by whisking together all dressing ingredients. Season with salt and pepper to taste.
Once eggs are done, remove rosti from oven. Top with asparagus and spinach. Gently remove rosti from pan, slice, and serve.