In a large frying pan add the 3 tablespoons of extra virgin olive oil and heat to medium hot. Add the Italian sausage, mushrooms, onions and cook on medium high heat until sausage is done. Add the garlic, rosemary, fennel, thyme and salt and pepper and cook two more minutes. Take off the heat and set aside.
In a medium sauce pan over medium heat add the butter and melt completely . Add the flour once the butter is melted and whisk the butter and flour mixture together. Let the flour mixture cook for one minutes before you whisk in the milk to cook out the flour taste. Add salt and pepper to taste, the nutmeg and hot pepper flakes and continue to whisk until it becomes thick. Add extra milk if you feel the sauce is too thick.
In medium bowl add the ricotta, beaten egg, and fresh parsley and mix together
Put the fresh spinach in a microwave safe bowl and sprinkle with a bit of water. Microwave for 1 1/2 minutes or until wilted and soft. Pour out any extra juices, but don't press out the liquid.
In a 13 by 9 baking pan that has been oiled or sprayed with non-stick spray, add 1/3 of your cream sauce. Lay out three lasagna noodles side by side and top the noodles with 1/3 of your ricotta mixture, then 1/3 of your mushroom and sausage mixture, cooked spinach ,and end with some grated cheese. Repeat three times. You will not use your entire box of noodles. It takes a bit more than half the box. Top your lasagna with your parmesan cheese and cover with foil.
Bake in a 350 degree oven covered for 30 minutes. Take off foil and finish baking uncovered so that the top browns a bit.