Roast the Broccoli: Preheat the Oven to 425* F. Cut the head of broccoli into quarter sized florets. Toss the florets in 3 tbsp of oil, salt, chili flake and lemon zest. Spread onto a lined sheet tray in 1 thin layer. Do not over crowd the pan. Roast the broccoli in the oven until slightly crispy, about 10 minutes. Remove from oven and set aside.
Make the Topping: Combine the grated parmessan and breadcrumbs together with a pinch of salt. Set aside.
Make the Cheese Sauce: In a medium sauce pot melt the butter over low heat. Add the finely diced red onion and minced garlic. Sweat over medium-low heat until soft and translucent, about 5 minutes. Add the flour and stir well with a wooden spoon. This mixture will be thick. Allow the flour mixture to cook until the mixture smells slightly toasty, about 3-5 minutes. Turn the heat to medium and switch the wooden spoon for a whisk. Add 1/2 a cup of milk at a time, whisking well after each addition to ensure that the sauce becomes smooth and does not clump. Add cream, if using. Allow this mixture to come up to a low simmer and cook until it coats the back of a spoon, about 8-10 minutes. Fold in the cheddar cheese, parmessan cheese, paprika, salt, and sherry vinegar. Mixing until smooth and the cheese is melted. Turn off the heat and fold in the roasted broccoli.
Cook the Pasta:Fill a medium-large pot 3/4 with water. Bring to a boil. Add enough salt so the water tastes salt but not quite as salty as the sea. Cook your pasta 2 minutes less than the recommened cooking time. Reserve 1 cup of pasta water and drain the pasta.
Bring it all Together: Make sure the oven is preheated to 425*F. Add the cooked pasta and 1 cup of pasta water to the broccoli and cheddar sauce. Pour this mixutre into an oven safe casserole dish. Sprinkly the top with 3/4 of the parmessan and breadcrumb topping. Tear small pieces of proscuitto, if using and scattter it over the top. Top with the remaining breadcrumbs. Bake in the oven until the top is golden brown and bubbly, about 15 minutes.