Heat a heavy-bottomed, oven-safe pan over medium heat.
Put two tablespoons of butter and 1 tablespoon of oil in the pan and let it melt.
Add sliced mushrooms and cook for 5 minutes until they're soft.
Add diced onions and cook for 3 more minutes.
Add minced garlic, 1/4 teaspoon salt, and 1/4 teaspoon black pepper to the pan. Cook for 2 more minutes.
Remove the mixture from the pan and clean it with a wet paper towel.
Cut each chicken breast in half lengthwise and pound them until about 1/4 inch thick.
Season with salt and pepper.
Turn on the stove and heat the same pan you used before. Add the remaining butter and oil.
Put the chicken in the pan and cook for 4 minutes on each side or until fully cooked.
Take the chicken out of the pan and put it on the same plate as the mushrooms.
Next, pour 1 1/2 cups of Madeira into the same pan and let it boil until it's reduced by half. Scrape the bottom of the pan to mix in any leftover bits.
Add 1 1/2 cups of chicken stock and let it boil until only 2/3 cup of liquid is left.
Reduce the heat to medium and add 1/2 cup of cream. Let it simmer until the sauce thickens. Add salt and pepper to taste.
Put the chicken back in the pan make sure it is covered in the sauce.
Put mushrooms and asparagus on top of the chicken and sprinkle the mozzarella cheese on top.
Put the pan in a preheated oven (375 degrees Fahrenheit) and let the cheese melt.
Take the pan out of the oven and sprinkle fresh parsley on top.
Serve with the cooked asparagus and enjoy.