Prepare the butternut squash by peeling, removing seeds, and cutting into 1/2-inch cubes. This can be done up to 2 days ahead and stored in the refrigerator.
Bring a large pot of salted water to a boil for the gnocchi. You’ll cook them later, but having the water ready will help time everything perfectly.
Heat olive oil in a large skillet over medium heat, then add the sausage. Break it into small chunks with a wooden spoon and cook until browned and cooked through, about 7-8 minutes. Transfer to a plate, leaving the flavorful drippings in the pan.
Add butter to the same skillet and once melted, add the diced onion. Cook for 3-4 minutes until softened and translucent, then add the garlic and cook for another 30 seconds until fragrant.
Add the butternut squash cubes to the skillet along with a pinch of salt and pepper. Cook for 8-10 minutes, stirring occasionally, until the squash begins to soften.
Pour in the chicken broth and bring to a simmer. Cover partially and cook for 10-12 minutes until the squash is very tender and can be easily mashed with a fork.
While the squash cooks, drop the gnocchi into the boiling water and cook according to package directions, usually just 2-3 minutes until they float to the surface. Drain and set aside.
Using a potato masher or fork, gently mash about half of the butternut squash in the skillet, leaving some chunks for texture. This creates a naturally thickened sauce.
Reduce heat to low and stir in the heavy cream, nutmeg, and sage. Simmer gently for 2-3 minutes until slightly thickened.
Add the Parmesan cheese and stir until melted and incorporated into the sauce. Taste and adjust seasoning with salt and pepper.
Return the cooked sausage to the skillet along with the drained gnocchi. Gently toss everything together until well-coated in the creamy butternut sauce.
Serve immediately in warm bowls, topped with additional Parmesan cheese, fresh black pepper, and red pepper flakes if desired.