This hearty dish is vegetarian but will satisfy meat lovers, too.
Preheat the oven to 350°. Place the nuts on a small baking sheet and bake until brown and fragrant, about 4 minutes. Let cool.
Bring a large pot of water to a boil for the pasta.
Using the side of a box grater with large holes, grate the beets. (I rub my hands with olive oil first so the beet juice doesn’t stain, and I grate on a plastic board, not a wooden cutting board.)
In a large, wide skillet, heat the oil, two turns of the pan, over medium-high. Add the grated beets and season with salt and pepper. Add the shallot and garlic, drizzle with the honey and cook, stirring often, until the beets soften, about 5 minutes.
Salt the pasta water, add the spaghetti and cook until just a few minutes shy of al dente, about 5 minutes.
In a small skillet, melt the butter over medium heat. When the butter bubbles, add the sage leaves and cook until crispy, about 5 minutes. Remove the brown butter from the heat. Transfer the sage to a paper towel and let cool.
Add the bottle of wine to the beets and bring to a boil. Cook until slightly reduced, about 3 minutes. Drain the pasta and add to the beet mixture. Cook, tossing often, until the spaghetti is al dente, about 3 minutes more. Add the brown butter and about 3/4 cup cheese; season the pasta and mix together. Serve the pasta in shallow bowls topped with the hazelnuts and sage. Pass more cheese at the table.