Take a large pan and melt 2 tablespoons of butter in it. Add 1 tablespoon of oil to it and then add the mushrooms to the pan. Cook the mushrooms for about 5 minutes until they become soft.
Add the onions to the pan and cook them along with the mushrooms for about 2-3 minutes. Then, add garlic, ¼ teaspoon salt, ¼ teaspoon black pepper, and parsley to the pan and saute them for a minute or two. Then, transfer this mixture to a plate.
Now, take the chicken breasts and slice them half but lengthwise. Then, place the chicken breasts between plastic wrap and pound them with a meat mallet. Pound the chicken until it is about ¼ inch thin. Season this chicken breast with ½ teaspoon salt and ¼ teaspoon black pepper.
Then, take the pan that you cleaned and melt a tablespoon of butter in it. Add a tablespoon of oil as well and let the butter foam. Add the chicken breast to the pan and cook it from both sides for 3-4 minutes each until golden brown. When it is cooked, transfer it to the plate with the mushrooms.
In the same pan, pour the Madeira wine and bring it to a boil. When it has reduced to almost half its volume, add the beef stock and boil it for about 10 minutes until only ¼ th of the original volume remains.
After that, add the heavy cream to the pan and simmer it for 2-3 minutes until it thickens. Sprinkle a pinch of salt and pepper into the pan to add flavor and stir.
Then, return the cooked chicken to the pan along with the mushrooms. Top it with the blanched asparagus and shredded mozzarella cheese. Now, place the pan in the oven broiler and broil it for 2-3 minutes until the cheese has completely melted.
Lastly, take the pan out and garnish the chicken with some parsley. Your creamy and cheesy Chicken Madeira is ready.