In a large frying pan heat the oil. When almost smoking, add the onions and garlic over medium-low heat until the onions have wilted, about 8 minutes. Add the mushrooms and season with salt and pepper.
Raise heat to high and saute until mushrooms are tender and all the liquid has evaporated. Remove pan from heat and pour in marsala wine. Return pan to stove and allow wine to evaporate, about three minutes.
Add chicken stock and simmer for half an hour until the sauce has reduced by half. Add cream and mix well. Take the pan off the heat and add the fresh herbs and Parmesan and mix thoroughly.