Preheat the oven to 425°F (218°C). Toss the cauliflower florets with 1/4 cup olive oil and season with kosher salt and freshly ground black pepper.
Spread the florets in a single layer on a large baking sheet and roast, tossing occasionally, until caramelized and tender, about 35–40 minutes. Remove and set aside to cool.
Meanwhile, make the breadcrumbs: pulse the half loaf of French bread in a food processor to coarse crumbs. Melt 4 tablespoons of the butter and toss it with the breadcrumbs and 1/4 cup grated Parmesan; set aside.
Reduce oven temperature to 350°F (177°C). Cook the pasta in salted boiling water according to package directions until al dente; drain and set aside.
In a large oven-proof heavy-bottom saucepan over low heat, melt the remaining 8 tablespoons butter. Whisk in the 4 tablespoons flour and cook, whisking, about 1–2 minutes to form a smooth paste.
Slowly add the heated milk while whisking constantly. Continue to cook and whisk until the sauce thickens and coats the back of a spoon, about 15–17 minutes.
Stir the 2 teaspoons kosher salt, garlic powder, onion powder, and smoked paprika into the sauce. Add the shredded fontina and stir until melted, then stir in the remaining 1/2 cup (approximately) grated Parmesan.
Add the cooked pasta and the roasted cauliflower to the sauce and stir gently to combine so everything is evenly coated.
Sprinkle the breadcrumb mixture evenly over the top. Transfer the pan to the preheated 350°F oven and bake 15–20 minutes, until the cheese is melted and the top is lightly golden.
Remove from the oven and let rest a few minutes before serving.