In a bowl whisk together all of the marinade ingredients together. Pour half of the marinade ingredients into a ziploc bag or into a separate bowl or Tupperware. Add the chicken to the marinade and let the chicken sit in the liquid for 30 minutes, or up to 8 hours. When you are ready to prepare dinner, remove the chicken from the marinade. Grill the chicken on a hot grill until cooked on both sides and the center of the chicken is no longer pink.
While the chicken is cooking, simmer the other half of the marinade in a sauce pan at a low boil for 10 minutes, or until the mixture thickens. At the same time, add a little olive oil or butter to a saute pan and saute the sliced onions and mushrooms until the onions are tender.
Season with salt & pepper. Remove the mushrooms and onions once they are cooked and set aside. Add a couple cups of water to that same pan and heat to boiling. Rinse the asparagus and place in the boiling water. Let them blanch for just a couple minutes until bright green.
Once they are tender, remove from the water and set aside. Once the chicken has been grilled, place the chicken breasts on a cookie sheet or in a 9x13 pan. Pour a spoonful of the balsamic reduction (marinade) on top of each chicken breast.
Add a large spoonful of the mushroom and onion mixture on top of each chicken breast as well. Place 2-3 asparagus stems on top of each chicken breast and top with a slice of provolone cheese.
Broil in the oven for 2-3 minutes, or until the cheese is melted. Serve the chicken with extra balsamic sauce/glaze and serve over mashed potatoes. Serves 6.