Wash and dry asparagus; cut into 1 inch pieces, discarding woody ends.
Heat olive oil in a large frying pan over medium heat; saute asparagus and onion until asparagus is crisp-tender, approximately 5 minutes.
Pour in water; add salt and pepper. Cover and cook over medium low heat for 10 minutes.
Remove cover; break eggs into a small bowl, one at a time, and slide out on top of asparagus (try not to break yolks).
Sprinkle with Parmesan cheese.
Bake, uncovered, at 375 degrees F for 8-10 minutes, or until the eggs are set as you prefer.
Eat alone or serve over buttered toast.