Preheat oven to 350 degrees.: The kitchen fills with a warm, toasty anticipation that primes the hazelnuts for deep flavor development. The dry heat encourages even browning, creating nutty aromas that will perfume the whole dish. If you skip warming the oven, the nuts may toast unevenly, leaving pockets of raw flavor. A common mistake is setting the rack too high, which can burn the nuts; place the tray in the center for steady heat.
Spread hazelnuts in an even layer on a baking sheet and roast for about 10 minutes. Pour hot hazelnuts onto a clean dish towel and cover. After about 5 minutes, rub hazelnuts in dish towel between both hands so the papery skins come off. Separate nuts from skins and discard skins.: The roasting releases fragrant oils and a deep, sweet nuttiness you can smell as soon as you open the oven. Covering them steamed the skins, making them easy to remove by abrasion, and the clean towel action reveals smooth, toasted flesh. Watch the color closely, as nuts darken quickly; a light golden brown is the target. If you under-roast them, they will taste bland; over-roasting produces bitterness.
Coarsely chop hazelnuts and set aside.: Chopping creates bite sized pieces that provide contrasting texture throughout the dish, so you get crunchy notes in every forkful. The rough chop preserves some larger pieces for a satisfying crunch and smaller crumbs that integrate with the pasta . Avoid pulverizing them into dust, which would lose the pleasurable textural contrast. Use a quick pulse on a cutting board, not a blender, to maintain control.
Add pasta to water and cook until al dente, drain.: When the spaghetti is cooked al dente, it maintains a firm chew that pairs perfectly with roasted cauliflower . The tactile sensation of bite gives the dish structure. Save a small amount of starchy cooking water before draining to help the sauce bind. Overcooking the pasta will yield a limp texture that cannot stand up to the crunchy elements.
In a large skillet, add olive oil and turn to medium heat. Add cauliflower florets and peas, toss in oil, and cook just until cauliflower is slightly tender, about 5-10 minutes. Add garlic and sauté for one minute.: The sizzle as the cauliflower hits the oil signals caramelization is beginning, with edges turning golden and sweet aromas developing. The peas will warm and retain their bright color. Adding minced garlic late protects it from burning and allows it to soften into fragrant, mellow sweetness. Avoid cramming the pan, which causes steaming instead of browning, producing limp vegetables.
Add spaghetti, reserved pasta water, lemon zest, salt, pepper, and basil, toss to combine.: The sound of pasta sliding into the pan is reassuring as the starchy water emulsifies with the olive oil , creating a silky coating that clings to strands. The lemon zest releases volatile oils that lift the aroma, while fresh basil adds herbaceous perfume. Tasting at this stage helps you balance salt and pepper. Be careful not to add too much water at once, which can dilute flavors and create a runny texture.
Remove from heat and toss in hazelnuts. Sprinkle with grated parmesan.: Off the heat, the residual warmth melds flavors without wilting the bright elements, and tossing in chopped hazelnuts preserves their crunch. The grated parmesan cheese melts gently into the pasta, adding savory depth. If you add nuts too early while still cooking, they can soften and lose their texture, so finish with them for maximum contrast.
Enjoy!: Serve immediately so the spaghetti retains its texture and the contrasts stay vivid. Eating right away preserves the temperature balance between warm pasta and aromatic finishes. A pitfall is letting the dish sit too long, which causes the pasta to absorb moisture and the nuts to soften, dulling those lively contrasts.