tablespoons extra-virgin olive oil
tablespoons all-purpose flour
cups whole milk, or use half-and-half for a richer sauce
Kosher salt and black pepper
teaspoon grated nutmeg, or to taste
small bay leaf
- Make the béchamel: Put the olive oil and flour in a small saucepan over medium-high heat and whisk together. Let mixture sizzle without browning for 1 minute. Whisk in milk 1 cup at a time, letting it come up to a simmer and begin to thicken before adding the next cup. Repeat until all the milk has been added.
- When the sauce has thickened to the consistency of a milkshake, turn heat to low. Add 1 teaspoon salt and a pinch of pepper. Add the nutmeg and bay leaf, and cook for 10 minutes, whisking occasionally. Check seasoning and adjust. Turn off heat and keep sauce warm. (If sauce thickens upon sitting, thin with a little more milk.)
- Make the tomato sauce: In a small saucepan, put tomatoes, onion, garlic, olive oil, bay leaf or basil, and 1 teaspoon salt. Bring to a boil, then turn down heat and simmer for 10 minutes. Transfer mixture to a blender (remove bay leaf before blending but leave in basil, if using). Purée to a velvety consistency and return to the saucepan. Taste and adjust seasoning. Keep sauce warm, or let cool and reheat before serving.
- Make the pasta: Bring a large pot of well-salted water to a boil. Add the rigatoni and cook until nearly done, about 2 minutes less than package directions, leaving the pasta still quite firm. Lift pasta from the water with a spider or large strainer, and spread it out on a baking sheet to cool.
- Add cauliflower to pot and cook until barely softened, 1 minute. Lift from the water with a spider or large strainer and spread out to cool on a baking sheet.
- Add the broccoli rabe and cook until just wilted, 1 minute, then drain in a colander. Rinse with cool water, then squeeze into a ball.
- Put cauliflower and broccoli rabe into the empty pasta pot. Add garlic, rosemary and red-pepper flakes, and stir together. Season with salt and pepper, and drizzle with 2 tablespoons oil.
- Add the béchamel and the rigatoni. Mix well with the cauliflower and broccoli rabe. Add the provolone and Pecorino Romano, and mix well again.
- Heat oven to 400 degrees. Pile the pasta mixture into an oiled 9-by-13-inch baking dish. Bake until nicely browned and crisp on top, about 40 minutes. Leave to rest for 10 minutes before serving. (Alternatively, refrigerate the assembled dish for up to 6 hours and bake later. Bring to room temperature before baking.)
- To serve, put a large spoonful of pasta into individual bowls or plates, making sure each portion has some of the crisp top. Spoon some tomato sauce around each portion and sprinkle with more grated cheese.