Bring a large pot of water to a boil. Once it boils, salt the water well and cook the pasta according to the package instructions. When the pasta has just five minutes left, add the cauliflower florets. Cook until both the pasta and the cauliflower are tender. Reserve 1 1/2 cups of cooking water and then drain. Return to pot.
While the pasta and cauliflower are boiling away, heat the olive oil in a saute pan and cook the onion and kale until soft.
To make the cheese sauce, melt the butter in a medium saucepan over medium high heat. Once it melts, add the flour and stir with a whisk to combine. Cook until the flour looks a bit golden. Stream in the pasta cooking water and the milk, whisking as you go. As the liquid approaches a simmer, it should thicken. Stir in the grated cheese. Taste and season with salt, pepper, and a little grated nutmeg.
Add the onions, kale, and cheese sauce to the pot with the pasta and cauliflower. Stir to combine.
Turn the cheesy mess into a large casserole dish and top with the bread crumbs or parmesan cheese, if you're using.
Bake at 350 degrees F until the sauce bubbles and the top browns.