Slice mushrooms,press garlic and chop onion and fresh parsley.
Remove stems from asparagus by snapping in half (they will break at the natural point), and add them to a large pot of boiling salted water for 2-3 minutes until bright green, but still crisp. Drain and drop in ice water to stop cooking, drain again and set aside.
Grate one cup fresh mozzarella cheese.
Slice chicken breasts in half and, if not thin enough, you can pound until it is the correct thickness. Season with salt and pepper.
Sauté mushrooms for 5 minutes in 2 tbsp butter and 1 tbsp olive oil over medium-high heat. Add onion, cook 3 minutes. Add garlic, parsley, ¼ tsp EACH salt and pepper, then cook an additional 2 minutes. Remove mushroom mixture from skillet and set aside for now. Wipe the skillet clean with a wet paper towel.
Sauté chicken in the same skillet over medium-high heat with 1 tbsp EACH butter and olive oil. Cook 3-4 minutes per side, then remove from pan and set aside.
Add 1 ½ cups Madeira Wine to pan to de-glaze, scraping to collect any of the delicious browned bits. Boil vigorously for @ 5 minutes, until reduced by half.
Add 1 ½ cups beef stock and boil for @ 10 minutes until reduced to approximately 6 ounces. Reduce heat to medium and add 1/2 cup heavy cream.Simmer @ 2 minutes, until sauce thickens.
Add chicken,mushrooms and asparagus back to the sauce. Top with the grated mozzarella. Broil for a few minutes, just to melt the cheese. Garnish with parsley before serving.