Classic Spaghetti Bolognese Recipe (Easy & Authentic)
I’ve made spaghetti bolognese more times than I can count, and it’s still one of the first things I turn to when I want a dinner that feels like a hug. The sauce simmers low and slow until the beef, tomatoes, and vegetables turn into something deeper than the sum of their parts. Your kitchen fills up with that smell that makes everyone wander in and ask what’s for dinner.
This isn’t a thirty-minute jarred-sauce situation, and I won’t pretend it is. But it’s also not complicated. You’re browning meat, chopping a few vegetables, and letting a pot do the work while you go about your evening. Most of the time is hands-off simmering, not active cooking.
What you get at the end is a sauce that clings to the pasta instead of pooling at the bottom of the bowl, with a flavor that tastes like it took all day because, honestly, it kind of did. I’ll walk you through every step, including the parts most recipes skip, so your bolognese turns out right the first time.
Why You’ll Love This Classic Spaghetti Bolognese
- It uses pantry staples you probably already have, plus one trip for fresh beef and pancetta if you don’t keep it on hand
- The sauce freezes beautifully, so one batch gives you two or three future dinners
- You control the richness. Add more cream or wine, or keep it lean and simple
- It’s forgiving. A little more or less of most ingredients still turns out great
- The recipe scales up easily if you’re cooking for a crowd or meal prepping for the week
- It teaches you a technique you’ll use for other sauces, not just this one
- Kids tend to eat this without complaint, which is worth something on a Tuesday night
Ingredients
For the sauce:
- 2 tablespoons olive oil (extra virgin gives the best flavor, but any olive oil works)
- 1 medium yellow onion, finely diced (about 1 cup) – the flavor base for the whole sauce
- 2 medium carrots, finely diced (about 1 cup) – adds natural sweetness that balances the tomato acidity
- 2 celery stalks, finely diced (about 3/4 cup) – rounds out the classic soffritto with a slight bitterness
- 4 ounces pancetta or bacon, finely chopped – adds smoky depth; you can skip it for a lighter sauce
- 1 pound ground beef (80/20 blend) – the fat keeps the sauce moist; leaner cuts work but dry out faster
- 1/2 pound ground pork (optional, but traditional) – substitute with more beef if you prefer
- 3 cloves garlic, minced
- 2 tablespoons tomato paste – concentrates the tomato flavor without adding extra liquid
- 1 cup dry red wine (or beef broth for an alcohol-free version)
- 1 can (28 ounces) crushed tomatoes
- 1 cup whole milk (added near the end; this is a traditional Bolognese trick that tames acidity)
- 1 bay leaf
- 1/2 teaspoon dried oregano
- Salt and freshly ground black pepper, to taste
- 1/4 cup grated Parmesan cheese, plus more for serving
For serving:
- 1 pound spaghetti (or tagliatelle, which is more traditional in Italy)
- Fresh basil or parsley, chopped, for garnish
- Extra Parmesan for the table
Shopping tip: buy your beef and pork from the butcher counter rather than the pre-packaged section if you can. You’ll get a fresher grind and can ask them to mix the two meats for you on the spot.

Equipment Needed
- Large heavy-bottomed pot or Dutch oven
- Wooden spoon
- Sharp knife and cutting board
- Large pot for boiling pasta
- Colander
- Measuring cups and spoons
- Ladle
Ingredient Notes
Meat choice: The classic ratio is beef and pork together, since pork adds fat and a rounder flavor that beef alone doesn’t quite reach. If you only have beef, use it, but pick an 80/20 blend so the sauce doesn’t turn dry.
Wine: Any dry red you’d drink works fine here. Don’t buy an expensive bottle for this. A basic Chianti or Merlot does the job. If you skip alcohol, beef broth is a solid substitute, though you’ll lose a bit of the acidity that wine brings.
Milk: This step throws people off the first time they see it, but it’s a real Bolognese technique. The milk cuts the acidity of the tomatoes and gives the sauce a silkier texture. Don’t skip it unless you’re avoiding dairy, in which case a splash of unsweetened oat milk gets you most of the way there.
Tomatoes: Crushed tomatoes give you the right texture for this sauce. Whole peeled tomatoes work if you crush them by hand first, but skip tomato sauce or puree, since they’re often thinner and sweeter than what you want here.
Step-by-Step Instructions
- Heat the oil and cook the pancetta. Heat olive oil in a large pot over medium heat. Add the pancetta and cook for 4 to 5 minutes, stirring occasionally, until it releases its fat and turns golden. This step builds the flavor foundation for everything that follows. Watch for the fat to turn clear and pool at the bottom of the pot; that’s your cue it’s ready. A common mistake here is rushing this step on high heat, which burns the pancetta before it renders properly.
- Add the vegetables. Stir in the onion, carrot, and celery. Cook for 8 to 10 minutes, stirring often, until the vegetables soften and the onion turns translucent. You’re looking for the vegetables to shrink down and lose their raw bite, not brown or caramelize. If they start sticking, lower the heat slightly. This is the soffritto, and it’s the backbone of the sauce’s flavor, so don’t skip past it too quickly.
- Brown the meat. Add the ground beef and pork to the pot. Break it up with your spoon and cook for 8 to 10 minutes, until no pink remains and the meat has developed some browned bits on the bottom of the pot. Those browned bits carry flavor, so resist the urge to stir constantly. Let the meat sit for a minute or two between stirs so it actually browns instead of just steaming.
- Add garlic and tomato paste. Stir in the minced garlic and tomato paste. Cook for 1 to 2 minutes, stirring constantly, until the paste turns a shade darker and smells slightly toasted. This step deepens the tomato flavor before any liquid goes in. Watch closely here; tomato paste burns fast, and burnt paste tastes bitter, not rich.
- Deglaze with wine. Pour in the red wine and scrape up any browned bits stuck to the bottom of the pot. Let it simmer for 3 to 4 minutes, until the wine reduces by about half and the raw alcohol smell fades. This step also pulls all that browned flavor back into the sauce instead of leaving it stuck to the pot.
- Add the tomatoes and simmer. Stir in the crushed tomatoes, bay leaf, and oregano. Bring the sauce to a gentle simmer, then reduce the heat to low. Cover partially and let it cook for at least 1.5 hours, stirring every 20 minutes or so. The sauce should barely bubble, not boil hard. A rolling boil breaks down the sauce too fast and can make it taste flat instead of developed. If it looks too thick, add a splash of water or broth.
- Stir in the milk. About 15 minutes before the sauce finishes, stir in the milk. Let it simmer uncovered so it can incorporate fully into the sauce. This step softens the acidity and adds a subtle richness you’ll notice mostly by its absence if you skip it. The sauce should look slightly lighter in color and taste rounder, less sharp.
- Season and finish. Remove the bay leaf. Taste the sauce and add salt and pepper as needed. Stir in the grated Parmesan for extra depth. If the sauce tastes flat, a small pinch of sugar or extra tomato paste can help balance it.
- Cook the pasta. While the sauce finishes, bring a large pot of salted water to a boil. Cook the spaghetti according to the package instructions until al dente, usually 9 to 11 minutes. Reserve 1 cup of pasta water before draining; you’ll want it if the sauce needs loosening.
- Combine and serve. Toss the drained pasta directly into the sauce, adding a splash of reserved pasta water if it needs to loosen up. Mix until every strand is coated. Serve immediately, topped with fresh basil or parsley and extra Parmesan.
Expert Tips
- Cook the sauce longer than you think you need to. Two to three hours makes a noticeably better sauce than 45 minutes.
- Don’t drain the fat from the meat unless it’s excessive. That fat carries flavor through the whole dish.
- Salt in stages, not all at once. Taste as you go, since the pancetta and Parmesan both add saltiness on their own.
- Use a heavy pot. Thin pots scorch the sauce on the bottom, especially during long simmers.
- Make a double batch. The sauce freezes well, and leftovers often taste better the next day.
- Toss the pasta in the sauce, not the other way around. Serving sauce on top of plain pasta leaves you with unevenly coated noodles.
- Save some pasta water. The starch helps the sauce grip the noodles.
- Don’t rush the tomato paste step. Those two minutes of toasting make a real difference in flavor.
- If your sauce tastes acidic, add the milk before reaching for sugar.
- Let the sauce rest for 5 minutes off heat before serving. It thickens slightly and the flavors settle.
- Grate your own Parmesan if you can. Pre-shredded cheese often contains anti-caking agents that affect how it melts.

Recipe Variations
Healthier version: Use lean ground turkey or 93/7 ground beef, skip the pancetta, and reduce the oil to 1 tablespoon. The sauce will be less rich but still satisfying.
Gluten-free: Swap the spaghetti for your favorite gluten-free pasta. The sauce itself contains no gluten as written, so no other changes are needed.
Dairy-free: Skip the milk and Parmesan, or substitute unsweetened oat milk for the milk and nutritional yeast for the cheese.
Vegan version: Replace the meat with a mix of finely chopped mushrooms and cooked lentils, and use vegetable broth instead of meat-based fond. Skip the milk or use a plant-based alternative, and use vegan Parmesan or nutritional yeast.
Spicy version: Add 1/2 teaspoon red pepper flakes with the garlic, or stir in a chopped fresh chili when you add the vegetables.
Kid-friendly version: Blend the cooked vegetables into a smoother texture before adding the meat, so picky eaters don’t spot chunks of carrot or celery.
Holiday version: Stir in a splash of balsamic vinegar and a small handful of dried porcini mushrooms (rehydrated first) for a deeper, more festive flavor suited to a special dinner.
What to Serve With This Classic Spaghetti Bolognese
- A simple green salad with a sharp vinaigrette to cut through the richness of the sauce
- Garlic bread or crusty Italian bread for scooping up extra sauce
- A glass of the same red wine you cooked with
- Roasted vegetables, like the ones in this pasta primavera recipe, for a lighter side
- A simple tiramisu or panna cotta for dessert
- Grated Parmesan and red pepper flakes on the table for guests to customize their own bowl
If you love a good meat-based dinner, you might also like this classic meatball recipe, which uses a similar flavor base.
Storage Instructions
Refrigerator: Store the sauce in an airtight container for up to 4 days. Keep the pasta separate if you’re planning to reheat portions over multiple days, since pasta absorbs sauce and can turn mushy.
Freezer: Freeze the sauce (without pasta) in an airtight container or freezer bag for up to 3 months. Lay bags flat to freeze so they stack easily and thaw faster.
Reheating: Reheat the sauce gently on the stovetop over low heat, stirring occasionally, until warmed through. Add a splash of water or broth if it’s thickened too much in storage. Microwave reheating works too, in 1-minute intervals, stirring between each.
Meal prep: This sauce is ideal for batch cooking. Make a double or triple batch on the weekend, portion it into containers, and you’ve got dinner sorted for several nights.
Shelf life: 4 days refrigerated, 3 months frozen, though flavor is best within the first month.
Troubleshooting
Sauce tastes too acidic: Add more milk, a small pinch of sugar, or let it simmer longer to mellow out.
Sauce is too watery: Simmer uncovered for an additional 15 to 20 minutes to reduce and thicken.
Sauce is too thick: Stir in a splash of reserved pasta water, broth, or water until it reaches the consistency you want.
Meat turned tough or dry: This usually means the heat was too high during browning, or the sauce simmered too long without enough liquid. Add a bit of broth and lower the heat next time.
Sauce tastes flat: Add salt in small increments, then a splash of the reserved pasta water, since the starch can help round out the flavor.
Pasta and sauce won’t combine well: Make sure you’re tossing hot pasta directly into the sauce in the pot, rather than serving sauce over cold or drained pasta on a plate.

Nutrition Information
Estimated values per serving (based on 6 servings):
| Nutrient | Amount |
|---|---|
| Calories | 520 kcal |
| Protein | 28 g |
| Fat | 22 g |
| Carbohydrates | 52 g |
| Fiber | 4 g |
| Sugar | 8 g |
| Sodium | 610 mg |
These values are estimates only and will vary based on specific ingredients and brands used. For precise nutrition information, use a nutrition calculator with your exact ingredients.
Frequently Asked Questions
What’s the difference between spaghetti bolognese and traditional Italian ragù alla bolognese? Traditional ragù alla bolognese, as made in Bologna, Italy, is typically served with tagliatelle, not spaghetti, and often skips the tomato-heavy approach common in Americanized versions, leaning more on meat, wine, and a small amount of tomato paste. What most people call “spaghetti bolognese” outside Italy is a looser, tomato-forward adaptation.
Can I make this recipe in a slow cooker? Yes. Brown the meat and vegetables in a skillet first, then transfer everything to a slow cooker with the remaining ingredients (except the milk). Cook on low for 6 to 8 hours, then stir in the milk during the last 30 minutes.
Can I use ground turkey or chicken instead of beef and pork? Yes, though the sauce will taste lighter and less rich. Add an extra tablespoon of olive oil to compensate for the lower fat content.
Why do you add milk to the sauce? Milk tames the acidity of the tomatoes and adds a subtle richness. It’s a traditional technique in authentic Bolognese sauce, even though it surprises a lot of home cooks who haven’t seen it before.
How long should bolognese sauce simmer? At least 1.5 hours, though 2 to 3 hours produces a noticeably deeper flavor. Longer simmering breaks down the meat and vegetables until they meld into the sauce.
Can I freeze spaghetti bolognese with the pasta already mixed in? It’s not ideal. Pasta gets mushy after freezing and thawing. Freeze the sauce on its own and cook fresh pasta when you’re ready to eat.
What’s the best pasta shape for bolognese? Tagliatelle is the traditional choice in Italy, since its flat, wide shape holds the meat sauce well. Spaghetti is the more common choice outside Italy and works fine too.
Do I need to add wine, or can I skip it? Wine adds acidity and depth, but you can substitute beef broth if you prefer to skip alcohol. The flavor will be slightly less complex but still good.
Can I make this recipe without pancetta? Yes. Pancetta adds a smoky depth, but the sauce still works well without it. Just add an extra tablespoon of olive oil at the start.
Why is my sauce too watery? The sauce likely needs more time to simmer uncovered. Crushed tomatoes release liquid as they cook down, and that liquid needs time to reduce.
Can I double this recipe? Yes, this recipe scales up well. Use a larger pot and expect the simmering time to stay roughly the same, since the sauce is shallow enough to reduce at a similar rate.
Is spaghetti bolognese healthy? It can fit into a balanced diet in moderation. Using leaner meat, more vegetables, and whole wheat pasta makes it a more nutrient-dense meal without losing much flavor.
What can I substitute for tomato paste? You can use an extra 1/4 cup of crushed tomatoes simmered a bit longer to concentrate, though the flavor won’t be quite as deep.
Can kids eat this recipe? Yes, it’s a popular family dinner. For picky eaters, blend the vegetables smoother so they’re less noticeable in the finished sauce.
How do I know when the sauce is done? The sauce is ready when it’s thickened enough to coat the back of a spoon, the meat is tender, and the flavors taste melded rather than sharp or separate.
Conclusion
Spaghetti bolognese rewards patience more than any complicated technique. Give the sauce time, taste as you go, and don’t skip the milk step even if it feels unusual. Once you’ve made it a couple of times, you’ll get a feel for how it should look and smell at each stage, and that’s when it stops being a recipe you follow and becomes one you just make.
Try this recipe this week and let me know how it turns out for you. If you make any changes or find a variation you love, share it. Recipes like this get better the more hands that shape them.
