Heat a large pot over medium heat and add the olive oil. Add in the onions with the salt and pepper and cook, stirring occasionally, until softened, about 5 to 6 minutes. Add in the garlic and mushrooms. Stir and cook for another 5 or 6 minutes, until the mushrooms soften. Add in the beef and break it apart with a wooden spoon. Brown it, stirring and breaking it apart, until it's cooked through, about 10 minutes. Stir in the tomato paste, dried basil, oregano, pepper flakes and brown sugar. Cook for 5 minutes.
Add in the wine, tomatoes and parmesan. Bring the mixture to a boil then reduce to a simmer and cover, cooking for at least 30 minutes (or even longer if you wish!). You can make this ahead of time.
To make your bechamel, melt the butter in a saucepan over medium heat. Whisk in the flour until smooth to create a roux, then cook it for 3 to 4 minutes, until it's nutty and fragrant. Very slowly pour in the milk in small batches, whisking the entire time. Make sure to whisk the bottom to prevent sticking. Whisk in the nutmeg. Bring the mixture to a boil while whisking, then reduce to a simmer and cook for 5 to 6 minutes, whisking often, until thickened.
Preheat the oven to 350 degrees F.
To make the lasagna, spray an 8x8 baking dish with nonstick spray. Spread a spoonful of the bechamel in the bottom of the dish and layer with the lasagna noodles. Add about 1/2 to 3/4 cup of the bolognese, about 1/2 cup of the bechemal sauce and a handful of the cheeses. Repeat this for 4 or 5 layers (or more/less if you can fit!) until you reach the top. I like to finish with a layer of noodles and cover it with the remaining sauce and cheese alone.
Bake for 50 to 60 minutes, until the cheese is golden and bubbly. Remove and let stand for about 30 minutes before you slice into it. DELISH.
You can make this ahead of time, it freezes and reheats very well!