Preheat oven to 375 F.
Bring a large pot of salted water to a boil. Add pasta and cook for 2 minutes shy of the box’s recommended cooking time. Drain and set aside.
Return the pot to the stove and add the oil over medium low heat. Add the onions and caramelize low and slow until sweet and golden brown- about 30 minutes. Add in the garlic and sauté for an additional 2 minutes.
Pour in the vegetable stock and squash, cover with a lid and increase the heat to medium high. Cook for 5 minutes or until the squash begins to soften. Add in the cauliflower, cover again, and cook for an additional 4-5 minutes until all of the vegetables fall apart easily when pricked with a fork.
Stir in the milk and a pinch of nutmeg, then transfer to a heat-proof stand blender. Puree until very smooth before transferring the mixture back to the pot.
Heat the pot over medium heat, stirring in 4 oz (1 cup) of the shredded cheddar and an ounce (1/4 cup) of parmesan cheese. Gently stir until fully melted. Season with salt and pepper to taste.
Add the cooked pasta to the sauce and stir until all of the noodles are well coated.
Transfer half of the mixture to an 8” square baking dish in a single layer. Top with the reserved 2 oz (1/2 cup) of grated cheddar cheese and then add the remaining noodles with cheese sauce. Set aside.
To make the breadcrumb topping, add the tablespoon of oil to a small nonstick skillet over medium heat. Add the garlic and sauté until fragrant and golden, about 1 minute. Add the panko breadcrumbs and toss until fully coated in the oil.
Remove the breadcrumbs from the stovetop and mix with the flaxseed, sage, and parmesan cheese. Spread them evenly across the casserole and bake for 25 to 30 minutes or until the cheese sauce bubbles around the edges and the breadcrumbs start to turn a very light brown colour. Sprinkle with a pinch of fleur de sel and dig in!