Spaghetti Rich Meat Sauce
Spaghetti Rich Meat Sauce is my kind of classic spaghetti: thick, tomato-forward, and actually satisfying enough that I don’t feel like I need a pile of extras on the side. It’s the sort of dinner I make when I want something dependable and familiar.
The sauce is slow-simmered and meaty, with that mellow sweetness you only get after it’s had time to cook down. I really like the little bit of milk at the end because it gives the sauce a softer, rounder feel.
I make this most often for a Sunday-style dinner or a weeknight when I want leftovers that reheat well. It’s especially good with extra Parmesan and a simple salad on the side.

Why You’ll Love This Recipe
Rich, slow-simmered sauce: This is the kind of meat sauce that turns glossy and thick as it cooks, and it tastes like it’s been working all afternoon.
Real dinner energy: The beef and pork combo makes it hearty in a way that feels like a full meal, not just pasta with a little topping.
Not fussy: Everything is straightforward, and you don’t need anything fancy to get a solid, classic result.
Easy to adjust: You can keep it mild, add some red pepper flakes, or swap in sausage if that’s what you like.
Make-ahead friendly: This is one of those sauces that’s even better after it sits, so it’s great for planned leftovers.
Key Ingredients
Pasta
- Spaghetti: Regular spaghetti is perfect here, but any long noodle works. I stick with a classic shape because the sauce clings really well.
- Kosher salt: Don’t be shy with salting the pasta water. It’s the only chance the noodles get to season from the inside.
- Water: You’ll want a big pot so the spaghetti has room to move and doesn’t clump.
Meat Sauce
- Olive oil: Just enough to get the vegetables going and keep things from sticking at the start.
- Yellow onion: This is your main base flavor. I like yellow onion here because it cooks down sweet.
- Carrots: Carrots add a little natural sweetness and help round out the tomato. Dice them small so they disappear into the sauce.
- Celery: It sounds minor, but it adds that savory background flavor that makes the sauce taste more “real.”
- Garlic: Fresh garlic is best here. Jarred will work, but the flavor is a little flatter.
- Ground beef: I use a standard ground beef (not super lean) so the sauce doesn’t taste dry.
- Ground pork: Pork makes the sauce richer and a little more tender. If you only have beef, you can absolutely do all beef.
- Kosher salt: Seasoning early matters with meat sauce. You can always adjust again at the end.
- Black pepper: Simple and classic. Add more at the end if it needs it.
- Tomato paste: This is what gives the sauce that deeper, cooked tomato flavor. Don’t skip it if you can help it.
- Dry red wine: Adds depth and keeps the sauce from tasting one-note. If you don’t cook with wine, use more broth and a tiny splash of balsamic.
- Crushed tomatoes: I like crushed tomatoes for a thicker, more spoonable sauce that still feels smooth.
- Tomato sauce: This helps the sauce stay silky and cohesive while it simmers.
- Low sodium beef broth: Broth keeps the sauce from getting too tight while it cooks down, and it adds savory flavor.
- Dried oregano: Classic Italian-American flavor. Dried is totally fine here since it has time to simmer.
- Dried basil: A steady background flavor. Fresh basil is great too, but I usually use it at the end as garnish.
- Bay leaf: It’s subtle, but it makes the sauce taste more rounded. Just remember to pull it out before serving.
- Red pepper flakes: Optional, but nice if you like a little heat. I keep it light so it doesn’t take over.
- Granulated sugar: Optional, and it depends on your tomatoes. If your sauce tastes sharp, a little sugar can smooth it out.
Finish and Serving
- Whole milk: This softens the acidity and makes the sauce feel richer. It’s a small step that I really notice in the final taste.
- Unsalted butter: Optional, but it makes the sauce glossy and a little more restaurant-like. I add it when I want extra richness.
- Parmesan: Use a wedge and grate it if you can. The pre-grated stuff works, but it doesn’t melt into the sauce the same way.
- Fresh basil or parsley: Either one is good. Basil feels more classic, parsley is a little brighter.
Recipe Instructions
- Cook the vegetables: Heat the olive oil in a large heavy pot over medium heat. Add the onion, carrots, and celery, then cook until softened and starting to look glossy.
- Add the garlic: Stir in the garlic and cook just until fragrant, about 30 seconds to 1 minute.
- Brown the meat: Add the ground beef and ground pork. Cook, breaking it up, until browned and no longer pink, then drain off excess fat if needed.
- Cook the tomato paste: Stir in the salt, pepper, and tomato paste. Cook for a couple minutes, stirring often, until the paste darkens slightly.
- Reduce the wine: Pour in the red wine and simmer until it reduces by about half.
- Simmer the sauce: Add the crushed tomatoes, tomato sauce, beef broth, oregano, basil, bay leaf, and red pepper flakes and sugar if using. Bring to a gentle simmer, then reduce heat to low and partially cover.
- Thicken the sauce: Simmer, stirring occasionally, until thick and rich and the flavors come together, about 60 minutes.
- Add the milk: Stir in the milk during the last 10 minutes of simmering. Taste and adjust salt and pepper, then remove the bay leaf.
- Finish the sauce: If using, swirl in the butter off the heat until melted. Stir in the Parmesan.
- Boil the pasta: Bring a large pot of water to a boil and salt it well. Cook the spaghetti until al dente, then reserve about 1/2 cup pasta water and drain.
- Toss and serve: Toss the spaghetti with some sauce and a splash of pasta water as needed to coat. Serve with more sauce on top, extra Parmesan, and fresh herbs.
My Tips!
This is the section that separates “good” from “wow.” If you read only one part of this post, make it this one — it’s where I reveal my recipe trick.
Recipe Tips & Tricks
Dice the carrots and celery small. Big pieces don’t really soften the same way in this kind of sauce. Small dice basically melts in and gives you a smoother texture.
Let the tomato paste cook a bit. It should go from bright red to a little darker and smell sweeter. That quick step keeps the sauce from tasting raw.
Keep the simmer gentle. You want a slow bubble, not a rapid boil. If it’s spitting a lot, turn it down and partially cover the pot.
Use the pasta water on purpose. A small splash helps the sauce cling to the spaghetti instead of sliding off. Add a little at a time so you don’t thin the sauce too much.
Finish with Parmesan at the end. I like stirring some into the sauce and then adding more on the bowl. It gives you that salty bite right where you want it.
Simple tweaks
Here’s where the fun begins — a few simple tweaks can turn this recipe from casual treats into the star of any party.
Serving Suggestions
- Garlic bread: A warm loaf of garlic bread or breadsticks is great for wiping up extra sauce. I usually keep it simple with butter, garlic, and a little parsley.
- Salad: A chopped romaine salad with cucumbers and a tangy vinaigrette is a nice match. It keeps the plate from feeling too heavy.
- Roasted vegetables: Roasted broccoli, zucchini, or Brussels sprouts work well here. Anything with crisp edges is nice next to the soft pasta.
- Extra toppings: Set out Parmesan, fresh basil or parsley, and red pepper flakes. Everyone can fix their bowl the way they like it.
Eat it later
This section explains how to store leftovers properly and how far in advance the recipe can be prepared.
Storage and Make Ahead
Store leftovers covered in the fridge for up to 4 days. I usually keep the pasta and sauce separate if I know we’ll be eating it again, but either way works.
Reheat gently on the stove or in the microwave until hot. If the sauce thickens a lot in the fridge, add a splash of broth or water to loosen it.
You can make the meat sauce ahead and cook the spaghetti right before serving. The sauce actually tastes a little better the next day.
If you want it longer-term, freeze sauce in airtight containers up to 3 months. Thaw in the fridge overnight, then warm it back up on the stove.
It could help!
Before you close the tab or print the recipe, scroll through these quick answers.
Recipe FAQs
Can I make this sauce with all ground beef?
Yes. All beef works fine and still tastes classic. If your beef is very lean, you may want a little extra olive oil at the start so the sauce doesn’t taste dry.
What can I use instead of red wine?
Use more beef broth, and add a small splash of balsamic vinegar at the same time. You won’t get the exact same flavor, but it still tastes full and savory.
How do I make the sauce thicker?
Simmer it uncovered for the last 15 minutes or so, and stir a little more often. If it gets too tight, add a small splash of broth or water to loosen it back up.
Do I have to add the milk?
No, but I like what it does. It takes the edge off the tomatoes and makes the sauce feel a little more mellow. If you skip it, the sauce will just taste a bit brighter.
Can I freeze this meat sauce?
Yes, it freezes really well. Let it cool, portion it into airtight containers, and freeze; then thaw in the fridge overnight before reheating.
Keep it with you
The printable version with print button is at the end of the post, easy to follow, and includes all the steps you’ll need.
Spaghetti Rich Meat Sauce

Ingredients
Pasta
- 12 oz spaghetti
- 1 tbsp kosher salt
- water for boiling.
Meat Sauce
- 2 tbsp olive oil
- 1 medium yellow onion diced
- 2 medium carrots finely diced
- 2 celery ribs finely diced
- 4 cloves garlic minced
- 1 lb ground beef
- ½ lb ground pork
- 1 tsp kosher salt
- ½ tsp black pepper
- 2 tbsp tomato paste
- ½ cup dry red wine
- 28 oz crushed tomatoes
- 15 oz tomato sauce
- 1 cup low sodium beef broth
- 1 tsp dried oregano
- 1 tsp dried basil
- 1 bay leaf
- ¼ tsp red pepper flakes optional
- 1 tsp granulated sugar optional.
Finish and Serving
- ½ cup whole milk
- 2 tbsp unsalted butter optional
- ½ cup grated Parmesan plus more to serve
- fresh basil or parsley for garnish.
Instructions
Build the Sauce Base
- Heat olive oil in a large heavy pot over medium heat
- add onion carrots and celery and cook until softened
- add garlic and cook briefly until fragrant
- add ground beef and ground pork and cook until browned then drain excess fat if needed
- stir in salt pepper and tomato paste and cook until the paste darkens slightly.
Simmer the Meat Sauce
- Pour in red wine and simmer until reduced by about half
- add crushed tomatoes tomato sauce broth oregano basil bay leaf red pepper flakes and sugar if using
- bring to a gentle simmer then reduce heat to low and partially cover
- simmer stirring occasionally until thick and rich and flavors meld
- stir in milk during the last 10 minutes and adjust salt and pepper
- remove bay leaf and optionally swirl in butter for extra richness.
Cook Pasta and Serve
- Bring a large pot of water to a boil and salt it
- cook spaghetti until al dente then reserve 0.5 cup pasta water and drain
- toss spaghetti with some sauce and a splash of pasta water as needed to coat
- serve topped with more sauce Parmesan and herbs.
