How to parcook a casserole?
My family does this with lasagne every year for Christmas.  It works with most casseroles that are prepared in advance:


Make the casserole in advance, then either chill (if night before) or freeze (if a week before).
Place the cold dish in a cold oven, covered in aluminum foil, then turn it to medium-low heat (about 300°F/150°C).
Heat until the center of the casserole is sufficiently warmed through.
Turn the heat on the oven down to 'warm'


Just before guests arrive, make the bechamel.  Keep it on low heat on the stovetop, stirring every 10-15 minutes or so.


(20-30 mins before service) uncover the casseroles
Top with some of the bechamel (reserving the rest so people can add extra as they wish)
Crank the oven to 'broil' or 'grill' or whatever they call the 'top only heat' setting in your country, and cook the top to desired brown-ness.  If you don't have a broil/grill setting, move the casserole as close to the top element as you can without the food actually touching it, and turn the heat as high as the oven will go.
Remove the casserole and let rest to firm back up.  (take notes on how long this time, as that'll affect the exact time when you start broiling the next time you do this).
Place the reserved bechamel in a gravy boat.
Slice &amp; serve


Note that there's also bechamel in the lassagne we make -- so you just make a little bit less when making the casserole initially, if it's needed for middle layers as well.