Cook the pasta in salted boiling water until just al dente. Add the cauliflower and cook 2 minutes more. Drain and set aside.
Melt the butter in a medium saucepan. Add the shallots and cook until they begin to soften. Add the flour and stir to form a roux. Cook for 2 minutes.
Gradually add the milk, stirring constantly. continue to cook stirring constantly until the sauce comes to a gentle bubble and thickens.
Remove from the heat and add in the cheese, stirring until it is melted. Add the paprika and cayenne and taste for seasoning. Add what it needs.
Combine the cheese sauce with the pasta, cauliflower, and prosciutto (if using). Pour into a 2 quart casserole that has been lightly coated with cooking spray.
Cover with foil and bake at 350 degrees for 25 minutes, until the sauce is bubbling.
Sprinkle with the fried onions and bake uncovered another 5 – 7 minutes until the onions are golden brown. Allow to rest 10 minutes before serving.