Heat the olive oil and butter in a large Dutch oven over medium heat. Add the onions, butter, carrots, celery, and garlic. Sprinkle with salt and pepper. Saute the vegetables until soft, about 10 minutes.
Add the pancetta. Saute until the pancetta starts to brown.
Increase the heat to medium high and add the ground beef. Cook the meat for 10 minutes or until there is no pink.
Stir in the tomato paste, oregano, and basil. Reduce heat to medium.
Deglaze the pan by adding the red wine and scraping the brown bits from the pan. Let the wine reduce for 2-3 minutes.
Add in the tomatoes and the beef stock. Bring the mixture to a boil then reduce heat and simmer.
Simmer, uncovered, for 2 hours, stirring occasionally. Season with salt and pepper as needed.
Divide spaghetti between 4 plates and spoon sauce over top. Sprinkle with cheese if desired.