Heat a large pot over low heat and add the olive oil and butter. Once melted, stir in the onion, salt and pepper. Cook, stirring often, for 20 to 30 minutes, until the onion is caramelized. Stir in the garlic, squash and fresh sage. Cook, stirring often, until squash begins to soften and almost caramelize, 10 to 12 minutes.
Stir in the tomato paste and cook for 5 minutes more. Add in the diced tomatoes, chicken stock, pumpkin puree, allspice and nutmeg. Bring the mixture to a simmer. Cover and let it simmer for 30 minutes.
Add in the cream, stir, and simmer for 15 minutes more. At this time, you can either use an immersion blender to puree a bit of the sauce - or you can transfer half of the mixture to a blender and puree until smooth before adding it back to the pot.
Once the sauce is half blender, stir in the parmesan cheese. Cook for 10 to 15 minutes longer.
Taste the sauce and season it additionally if needed with salt and pepper. Serve over your favorite pasta!