Heat a pot of salted water to a boil over medium-high heat. Add pasta & broccoli & cook until noodles are al dente & broccoli is tender (~8 min).
Reserve 1 cup of pasta cooking water. Drain the pasta and broccoli and return to the pot.
While pasta cooks, heat a saucepan over medium heat, & add oil. Add butter & allow to melt, then add shallots & sauté until tender (~4 min).
Add flour, stirring constantly until mixture is pale golden ( ~1 min). Whisk in milk & bring to a simmer over medium-low heat. Continue to cook until thickened (~6 min).
Stir in cheese until it’s melted into the sauce. Add cayenne, paprika & season to taste with salt and pepper.
Pour the sauce over noodles & stir to combine. Add pasta cooking water, a little at a time to thin the sauce until creamy.
Ladle into warmed pasta bowls and serve.