CM CookMio
Classic Spaghetti Bolognese

Classic Spaghetti Bolognese

Link copied!
Prep Time: 15 min Cook Time: 45 min Servings: 6 Medium
🔥 Hot
Alex Chen

Ingredients

Soffritto

  • 2 tbsp extra-virgin olive oil
  • 1 medium yellow onion, finely diced
  • 1 medium carrot, finely diced
  • 1 celery stalk, finely diced
  • 4 cloves garlic, minced

Meat & Sauce

  • 1 lb (450g) ground beef, 80/20 chuck for best flavor
  • ½ cup whole milk
  • ½ cup dry red wine (Chianti, Sangiovese, or Cabernet)
  • 1 (28 oz / 800g) can crushed tomatoes, preferably San Marzano
  • 2 tbsp tomato paste
  • 1 tsp dried oregano
  • 1 tsp fine sea salt, plus more to taste
  • ½ tsp freshly ground black pepper
  • ¼ tsp freshly grated nutmeg
  • 1 bay leaf

Pasta & Finishing

  • 1 lb (450g) dried spaghetti
  • 1 tbsp kosher salt for the pasta water
  • ½ cup pasta cooking water (reserved before draining)
  • ½ cup freshly grated Parmigiano-Reggiano, plus more for serving
  • 2 tbsp fresh basil or parsley, torn

Instructions

1

Heat 2 tbsp olive oil in a large heavy pot or Dutch oven over medium heat. Add the diced onion, carrot, and celery and cook 8–10 minutes, stirring often, until the vegetables are soft and the onion turns translucent — this soffritto is the flavor foundation, do not rush it.

Finely diced onion carrot and celery soffritto softening in olive oil in a Dutch oven
2

Stir in the minced garlic and cook 30 seconds until fragrant. Add the ground beef, breaking it up with a wooden spoon. Cook 6–8 minutes until the beef is no longer pink and the moisture has evaporated, leaving the meat to brown.

Ground beef browning with soffritto and garlic in a heavy pot stirred with a wooden spoon
3

Pour in ½ cup whole milk and simmer 2–3 minutes until almost fully absorbed. The milk tenderizes the meat and rounds out the acidity of the tomato — a hallmark of authentic Italian Bolognese.

Whole milk being added to ground beef and soffritto in a Dutch oven for Bolognese sauce
4

Add ½ cup red wine and scrape any browned bits from the bottom of the pot. Simmer 2–3 minutes until the alcohol smell cooks off. Stir in the tomato paste and cook 1 minute to deepen its color.

Red wine simmering with browned beef and tomato paste in a heavy pot
5

Pour in the crushed tomatoes, oregano, salt, pepper, nutmeg, and bay leaf. Reduce heat to low, partially cover, and gently simmer 30–40 minutes, stirring every 10 minutes, until the sauce is thick and glossy. Discard the bay leaf and adjust salt.

Rich Bolognese sauce simmering low and slow in a Dutch oven turning thick and glossy
6

Meanwhile, bring a large pot of water with 1 tbsp salt to a boil. Cook the spaghetti to al dente per package directions (usually 9–11 minutes). Reserve ½ cup pasta water, then drain. Toss the hot spaghetti directly into the sauce with the reserved water and ½ cup Parmigiano-Reggiano. Plate immediately and finish with torn basil and extra cheese.

Spaghetti tossed with rich Bolognese sauce and Parmigiano-Reggiano twirled on a plate with fresh basil

Personal Tips

  • Take 8–10 minutes for the soffritto. I used to rush it because the beef was waiting, and the sauce never had the same depth. Soft, sweet, almost-jammy onion-carrot-celery is the difference between weeknight and Sunday-dinner Bolognese.
  • Yes, add the milk — even if it sounds weird. I skipped it the first time and the sauce was sharper, almost metallic from the canned tomatoes. The milk is a centuries-old Italian trick for tenderizing the meat and softening the acid; you cannot taste it once the sauce simmers down.
  • Use 80/20 ground chuck, not lean. I tried 93/7 once for the protein numbers and the sauce was dry and chalky. The fat is the carrier for the soffritto and tomato — it is not negotiable for proper texture.
  • Simmer at a bare bubble for at least 30 minutes. A rolling boil scorches the bottom and dries the meat. You want one or two lazy bubbles popping at a time, partially covered. If you have an extra 30 minutes, simmer 60 — the sauce only gets better.
  • Always finish the pasta IN the sauce. Tossing drained spaghetti with a ladle of sauce on the plate gives you wet noodles and dry sauce. Tossing it in the pot with reserved pasta water and grated Parmigiano emulsifies into a glossy coat that clings to every strand. This single step separates real Italian pasta from a cafeteria plate.

Nutrition (per serving)

520 kcal
Calories
26g
Protein
62g
Carbs
18g
Fat
5g
Fiber

Nutrition (per serving): 1.5 cups sauced spaghetti | USDA FoodData Central, calculated estimates

Frequently Asked Questions

What is the difference between Bolognese and spaghetti sauce?
Bolognese is a meat-forward sauce — ground beef (sometimes pork or pancetta) slowly simmered with a soffritto of onion, carrot, and celery, plus a small amount of tomato. American "spaghetti sauce" or marinara is tomato-forward with optional meat. Bolognese is thicker, richer, and traditionally served with wide ribbons like tagliatelle in Italy.
Can I make spaghetti Bolognese without wine?
Yes. Replace the ½ cup red wine with ½ cup low-sodium beef broth plus 1 tablespoon of red wine vinegar or balsamic vinegar to mimic the acidity. The flavor will be slightly less complex but still excellent — kid-friendly and alcohol-free.
How long should you simmer Bolognese sauce?
Minimum 30 minutes for a weeknight version, 60–90 minutes for full traditional depth. Keep it at a bare simmer — one or two slow bubbles at a time — partially covered. The sauce is ready when it is thick, glossy, and clings to a wooden spoon without running.
Can I freeze spaghetti Bolognese?
Freeze the sauce only, not the spaghetti. Cool the Bolognese, portion into airtight containers or zip-top bags (lay flat to save space), and freeze up to 3 months. Thaw overnight in the fridge and reheat gently with a splash of water. Cook fresh spaghetti when serving — frozen pasta turns mushy.
What pasta is best for Bolognese sauce?
In Italy, Bolognese is traditionally paired with tagliatelle or pappardelle — wide, flat ribbons that the chunky meat sauce can cling to. Spaghetti is the popular Italian-American choice and works beautifully when you toss the pasta in the sauce with reserved pasta water. Avoid thin angel hair, which gets buried under the sauce.
Why do Italians put milk in Bolognese?
Milk has been part of authentic Bolognese (ragù alla bolognese) for centuries. Added before the wine and tomatoes, the milk tenderizes the ground meat and rounds out the acidity of the tomato, giving the sauce a velvety, mellow finish. You will not taste dairy in the final dish — it disappears into the long simmer.

Dietary Restrictions

Allergens

Dairy (milk and Parmigiano-Reggiano)Wheat / gluten (spaghetti)

Not Suitable For

  • Vegans
  • Vegetarians
  • Lactose-intolerant (unless modified)
  • Gluten-free dieters (unless modified)

Modifications

  • Make it gluten-free by using a high-quality gluten-free spaghetti (corn-rice blends hold up best).
  • Make it dairy-free by replacing whole milk with full-fat oat milk or unsweetened almond milk and skipping the Parmigiano (use 2 tbsp nutritional yeast for finishing).
  • Make it vegetarian by replacing the ground beef with 1 lb cooked lentils or a 1-to-1 plant-based ground meat alternative; the soffritto and simmer time stay the same.

Explore More

Dinner Pasta Beef