Preheat the oven to 375 and lightly grease an 8×8 casserole dish.
Cut cauliflower florets off of the stem. Discard the stem. Blanch cauliflower first: In a large pot, bring water to boil and blanch the cauliflower florets for about 5-7 minutes. Drain and set them onto the paper towel to dry off the excess water.
In the same pot (empty pot), melt butter, add shallots, and bacon. Cook until bacon is fully cooked and take out the bacon halves leaving the shallots and bacon grease in the pot. Place the bacon strips on the paper towel, pat dry, dice, and set aside.
Sprinkle the flour over the shallots and cook for about a minute, whisking constantly. SLOWLY, add the milk, Dijon mustard and stock, whisking constantly. Keep whisking until thick sauce is formed.
Add shredded cheddar, shredded Swiss, and Blue cheeses, whisk until all melted and smooth.
Add salt, pepper, and cauliflower florets. Mix all well and transfer to the casserole dish.
In a small bowl, combine the bacon bits, bread crumbs, and butter. Mix very well and spread the mixture over the casserole evenly.