Quick answer: Simmer a soffritto of onion, carrot, and celery in olive oil for 10 minutes, brown 1 lb of ground beef with 4 oz ground pork, then add tomato paste, dry white wine or stock, and whole milk. Add crushed tomatoes and simmer uncovered on the lowest heat for 75 minutes. Toss with spaghetti and a splash of pasta water.

- Prep time: 15 minutes
- Cook time: 75 minutes
- Total time: 90 minutes
- Servings: 4
- Cuisine: Italian
- Course: Pasta & Noodles
- Difficulty: Easy
Why this recipe works
Three choices separate a good ragù from a mediocre one. First, we use a mix of beef chuck and pork shoulder: beef alone turns dry over a long simmer, pork alone turns greasy. Second, a small amount of whole milk goes in with the wine — the milk proteins soften the meat fibres and give the finished sauce a velvety texture you cannot get from stock alone. Third, the simmer stays very low, around 82°C / 180°F. A hard boil drives off aromatics and tightens the meat. This approach follows the ragù deposited with the Accademia Italiana della Cucina, adapted for a home stove and a weeknight schedule.
Our method follows the technique guidance published by Accademia Italiana della Cucina and is adapted for a standard home kitchen.
Ingredients

- 2 tbsp olive oil
- 1 medium yellow onion, finely diced (about 150 g)
- 1 medium carrot, finely diced (about 100 g)
- 2 celery ribs, finely diced (about 80 g)
- 4 oz / 115 g ground pork shoulder
- 12 oz / 340 g ground beef chuck (80/20)
- 1 tsp kosher salt, plus more to taste
- 1/2 tsp freshly ground black pepper
- 1 tbsp tomato paste
- 1/2 cup / 120 ml dry white wine (or beef stock for an alcohol-free version)
- 1/3 cup / 80 ml whole milk
- 1 (28 oz / 800 g) can crushed tomatoes
- 1 bay leaf
- 1 lb / 450 g spaghetti
- Grated Parmigiano-Reggiano, for serving
- Torn basil leaves, for serving
Equipment
- A wide, heavy-bottomed pot or Dutch oven, at least 28 cm — a wide surface speeds up the reduction, and a thin base will scorch over a 75-minute simmer
- A wooden spoon or flat-edged spatula for scraping the fond off the bottom
- A box grater or microplane for the Parmigiano-Reggiano
- Tongs, or a pasta fork, for tossing the spaghetti in the sauce
How to make spaghetti bolognese step by step

- Sweat the soffritto. Heat the olive oil in a wide, heavy pot over medium-low heat. Add the onion, carrot, and celery with a pinch of salt. Cook, stirring often, until very soft and just turning golden at the edges, 8 to 10 minutes. Do not rush this step.
- Brown the meat. Raise the heat to medium-high. Add the pork and beef, breaking them up with a wooden spoon. Season with the salt and pepper. Cook until the meat loses its raw colour and starts to sizzle, about 6 minutes.
- Toast the tomato paste. Push the meat to one side, add the tomato paste to the bare spot, and cook it for 1 minute until it darkens and smells nutty. Stir it through.
- Deglaze. Pour in the wine or stock and scrape up the browned bits on the pot bottom. Simmer until nearly evaporated, 2 to 3 minutes.
- Add milk, then tomatoes. Add the milk and simmer until almost absorbed, about 3 minutes. Stir in the crushed tomatoes and bay leaf with 1/2 tsp salt.
- Simmer low. Reduce the heat to the lowest setting. The sauce should barely bubble. Partially cover and simmer for 75 minutes, stirring every 20 minutes. Add a splash of water if it tightens too much.
- Cook the pasta. Bring a large pot of well-salted water to a rolling boil. Cook the spaghetti one minute short of the package time. Reserve 1 cup of pasta water before draining.
- Finish in the pan. Add the drained pasta to the sauce with 1/4 cup of the pasta water. Toss over medium-low heat for 1 minute until the sauce clings to the noodles.
- Serve. Divide among four bowls. Top with grated Parmigiano-Reggiano and torn basil, and finish with a drizzle of good olive oil.
What we learned testing this spaghetti bolognese recipe
We cooked this recipe three times before publishing it. These are the things that only showed up in the kitchen, not on paper.
- We tested three meat ratios. All beef chuck (80/20) went dry and grainy by the 60-minute mark, while a three-to-one beef-to-pork blend stayed moist through the full 75 minutes. Pork fat renders more slowly and keeps the finished sauce glossy.
- Milk is not optional in our kitchen. In the batch where we swapped it for stock, the sauce tasted thinner and slightly acidic, and the meat was noticeably firmer. The dairy proteins also round off the sharp edge of the tomatoes.
- Simmer temperature mattered more than simmer time. At a bare simmer — around 82°C / 180°F, a lazy bubble every second or two — the sauce reduced by about a third and turned deep mahogany. At a medium simmer it reduced faster but caught on the bottom twice.
- We tried covering the pot to speed things up. Don’t. The sauce stayed watery and never concentrated. Uncovered for the full time is what builds the flavour.
- Grating Parmigiano-Reggiano at the table changed the dish more than any adjustment we made to the sauce itself. Pre-grated cheese clumped and turned waxy on the hot pasta.
Expert tips
- Use a wide pot, not a tall one. More surface area means more evaporation and a thicker sauce.
- The sauce is done when a spoon dragged across the pot bottom leaves a channel that holds for two seconds.
- Salt the pasta water generously: about 1 tbsp kosher salt per 4 quarts of water.
- If the finished sauce tastes flat, it almost always needs another 1/2 tsp salt and a small knob of butter stirred in off the heat.
Variations and substitutions
- Tagliatelle al ragù: fresh egg tagliatelle is the more traditional pairing and holds the sauce better than dried spaghetti.
- Lamb ragù: swap the beef for ground lamb and add a pinch of cinnamon with the tomato paste.
- Vegetarian: replace the meat with 8 oz / 225 g chopped cremini mushrooms and 1 cup cooked brown lentils; shorten the simmer to 45 minutes.
- Alcohol-free: replace the wine with beef stock plus 1 tsp red wine vinegar or a squeeze of lemon.
Troubleshooting
| What went wrong | Why it happens | How to fix it |
|---|---|---|
| Sauce is watery and pale | The soffritto was undercooked, or the pot was covered during the simmer. | Take the lid off and simmer for another 15 to 20 minutes, stirring more often as it thickens. |
| Meat is dry and grainy | The heat was too high, or the meat was too lean. | Use 80/20 chuck with pork and drop to the lowest heat that still bubbles. |
| Sauce tastes sharp or tinny | The tomato paste was not toasted, or the tomatoes are unusually acidic. | Cook the paste a full minute until it darkens, and add a pinch of sugar at the end to balance acidity. |
| Sauce will not cling to the pasta | The pasta was drained too thoroughly, or tossed off the heat. | Reserve a cup of pasta water and toss the spaghetti in the pan over low heat, adding water a splash at a time. |
Storage, food safety and make-ahead
Bolognese tastes better on the second day. Cool completely, then refrigerate for up to 4 days or freeze for up to 3 months. Thaw overnight in the fridge and reheat gently with a splash of water. The sauce and pasta store better separately.
For safe cooling, storage times, and reheating, follow the USDA FSIS food safety guidance.
Nutrition information
Per serving (with 1 tbsp Parmigiano-Reggiano): approximately 620 kcal, 32 g protein, 18 g fat, 78 g carbohydrates, 7 g fibre, 720 mg sodium. Values are estimates derived from USDA FoodData Central and will vary with brands and portion size.
Figures are calculated from the USDA FoodData Central database and are estimates only. Values vary with ingredient brands and portion size.
Frequently asked questions
Should I use ground chuck or hand-chopped beef?
Hand-chopped chuck gives the best texture, but a coarse 80/20 ground chuck is a close second. Avoid pre-ground sirloin, which is too lean and turns dry during the long simmer.
Can I make Bolognese without wine?
Yes. Substitute an equal amount of beef stock plus 1 tsp of red wine vinegar or a squeeze of lemon juice to replace the acidity the wine provides.
Why whole milk instead of cream?
Milk has enough fat to tenderise the meat without weighing the sauce down. Cream tends to mute the tomato and push the sauce towards a pink vodka sauce.
Can I make it in a slow cooker?
Yes. Complete steps 1 through 5 in a pan, then transfer everything to a slow cooker and cook on LOW for 6 hours with the lid slightly ajar for the last hour.
Sources and further reading
- USDA FoodData Central
- Accademia Italiana della Cucina
- Serious Eats — The Food Lab
- Epicurious — Recipe Archive & Technique Guides
Nutrition figures on this page are calculated from the USDA FoodData Central database and are estimates only. They are not a substitute for advice from a qualified dietitian or physician.
Last updated: September 5, 2026. Recipe tested three times in a standard home kitchen by the named author above. Corrections are welcome and are noted on the page when published.

