How to Make It
Preheat the oven to 350°. In a medium skillet, melt the butter in 2 tablespoons of the olive oil. Add the garlic and cook over moderately high heat until fragrant, about 30 seconds. Add the mushrooms and cook, stirring often, until softened, about 2 minutes. Add the onion and cook until softened, about 5 minutes.
Transfer the mixture to a large bowl and add the spaghetti in tomato sauce, prosciutto, cream and 1/4 cup of the Parmesan. Season with salt and pepper. Add the eggs and stir to combine.
Heat the remaining 2 tablespoons of olive oil in a large ovenproof skillet until shimmering. Swirl the pan to coat the sides with oil and pour in the frittata mixture, spreading it evenly. Cook over moderately high heat until the frittata is barely set on the bottom, about 3 minutes. Sprinkle the remaining 1/4 cup of Parmesan evenly over the top.
Transfer the skillet to the oven and bake the frittata for about 30 minutes, or until it is firm in the center and cooked through. Run a knife around the edge to loosen the frittata. Using 2 oven mitts, invert a large round platter over the frittata. Flip the skillet and platter to unmold the frittata and serve it cut into wedges, hot or at room temperature.