Rinse asparagus, and break or cut off tough ends.
Cover the bottom of a large frying pan with water. Top with lid and bring to a boil.
Add asparagus, cover, and cook for 2 minutes or until al dente.
Transfer asparagus to a cutting board.
Rinse out frying pan, dry, and add a small amount of olive oil.
When heated, add mushrooms and sauté until tender, approximately 5 minutes.
Transfer mushrooms to a large mixing bowl.
Add a small amount of oil to same frying pan, and add onion.
While onions cook, cut asparagus into bite-sized pieces and add to mixing bowl.
Sauté onions until tender, about 5 minutes; transfer to mixing bowl.
Top with balsamic vinegar and toss well to coat.
Season with salt and pepper as desired.
Serve immediately.