Preheat oven to 375˚F.
Place the pancetta in a large skillet over medium heat. Cook until pancetta has crispy edges and has released some fat. Remove the pancetta, leaving the fat behind, and place it on paper toweling to drain. Add 2 tablespoons of the butter to the fat to melt. Add the cauliflower and kale. Cook until softened (about 10 minutes). Remove from the pan to cool, leaving the fat behind. Turn off the heat. Place the Brussels sprouts halves in the microwave in the microwavable package. Cook for 3 minutes or until Brussels sprouts are softened. Set aside.
Put the pan back on the stove over medium low heat and add 2 tablespoons of butter to the pan. When the butter has melted, add the flour and stir to make a paste. Add the milk and cream and whisk briskly to ensure no lumps form. Increase the heat to medium and allow the mixture to simmer.
Press the clove into the onion and add to the sauce. Allow the sauce to simmer for about 10 minutes, stirring frequently. Remove the onion and clove. Stir in 2 cups of Gruyere until melted. Taste for seasoning and adjust with salt and pepper to taste.
Add the Brussels sprouts, cauliflower, and kale to the pan and toss lightly to coat. Pour all of the mixture into a medium sized casserole dish. Sprinkle the top with the remaining Gruyere.
Combine bread crumbs, Parmesan cheese, 2 tablespoons melted butter, and ground pepper to taste in a small bowl. Stir to combine and then sprinkle evenly over the top of the casserole. Add the pancetta in an even layer.
Bake until cooked through and very lightly golden on top (about 20 minutes). Turn your oven to broil. Place the casserole just a few inches from the broiler and broil for just a couple of minutes until the top is golden brown and crispy.
Remove from the oven. Cool slightly. Serve warm.