Preheat your oven to 375°F (190°C). Cook the pasta according to the package instructions until al dente. Drain and set aside.
In a large skillet, heat the olive oil over medium heat. Add the diced onion and sauté until translucent, about 5 minutes. Add the minced garlic and sliced mushrooms, and cook until the mushrooms are tender and any liquid has evaporated, about another 5 minutes.
Stir in the peas and cook for another 2-3 minutes until they are heated through. Season with salt and pepper to taste.
In a separate saucepan, melt the butter over medium heat. Stir in the flour and cook for 1-2 minutes, stirring constantly, to form a roux. Gradually whisk in the milk and continue to cook, stirring frequently, until the sauce thickens, about 5-7 minutes.
Remove the sauce from heat and stir in the grated cheese until melted and smooth. Combine the cheese sauce with the cooked pasta and the mushroom-pea mixture in a large bowl, mixing well.
Transfer the mixture to a greased casserole dish. Sprinkle the top with the grated Parmesan cheese and breadcrumbs, if using.
Bake in the preheated oven for 20-25 minutes, or until the top is golden and the casserole is bubbly.
Let the casserole cool for a few minutes before serving. Garnish with fresh chopped parsley for an extra touch of flavour.