Preheat oven to 400°F. Place butternut squash on a large roasting pan. Toss with fresh sage, thyme, olive oil, salt, and pepper.
Bake for 25-30 minutes, until the squash is fork-tender and begins to turn a darker yellow orange color. Remove from oven and allow to cool slightly.
In a large blender, puree squash with chicken or vegetable stock. If puree is too thick, add in an additional 1/4 cup stock. Reserve 2 1/2 cups of squash puree for macaroni. If you have any left over, you can use it for something else!
Cook macaroni in a large pot of boiling water until al dente. You want the macaroni to be slightly undercooked, as it will continue to cook once it is incorporated into everything else. Drain and set aside.
Set oven to “broil.” Lightly grease a 9×13 baking pan and set aside.
In a large heavy-bottomed pot over medium heat, melt butter. Whisk in flour and cook for 1-2 minutes, until mixture turns fragrant and light golden brown. Whisk in milk, salt, and black pepper, then cook until mixture thickens enough to coat the back of a spoon, about 3 minutes.
Remove from heat and add in reserved butternut squash puree and mascarpone, stirring to combine. Cook for 2 minutes, then add in half of the Le Gruyere and half of the mozzarella. Stir until cheese is melted completely. Add in cooked pasta and stir to combine.
Pour into prepared baking pan. Combine breadcrumbs with thyme and sage. Top macaroni first with remaining Le Gruyere and mozzarella, then with breadcrumb mixture.
Broil for 3-5 minutes, until the breadcrumbs are golden brown and the cheese melts completely. Serve immediately!