There are a lot of ways to make spaghetti meat sauce, but the version I come back to over and over is built around one simple promise: it tastes like it simmered all afternoon, even if you started it after work.
The trick isn't fancy ingredients. It's a few small technique choices that stack flavor: browning the meat properly, cooking the tomato paste until it turns brick red, and letting the sauce quietly bubble until it goes from “tomatoey” to “cozy.”

What makes a great meat sauce
When people tell me their sauce tastes flat, watery, or a little acidic, it usually comes down to one of these:
- No real browning. If the meat steams instead of browns, you miss out on a big layer of savory flavor.
- Tomato paste added too late. Cooking it for a minute or two can take off that raw edge and build sweetness.
- Not enough simmer time. Even 20 to 30 minutes helps the sauce get rounder and thicker.
- Under-seasoning. Salt helps tomatoes taste more like tomatoes and meat taste more like meat. Start modestly, then adjust at the end.
Ingredients you actually need
This is the streamlined pantry list I use most often. If you have extras like a splash of wine or a Parmesan rind, I'll tell you where they fit, but you can absolutely make a wonderful sauce without them.
Core ingredients
- Ground beef (or a beef and pork blend): 80 to 90 percent lean is ideal for flavor without a greasy sauce.
- Onion and garlic: your flavor base.
- Tomato paste: the secret “deep” note.
- Canned crushed tomatoes (or a mix of crushed and diced): reliable year-round flavor.
- Dried oregano and basil (or Italian seasoning): classic and easy.
- Salt and black pepper: non-negotiable.
- Olive oil: just enough to get the aromatics going.
Optional upgrades (use what you've got)
- Red wine: a splash after browning, simmered down, adds depth. Beef broth also works.
- Pinch of red pepper flakes: gentle heat that makes the sauce taste more alive, not spicy.
- Worcestershire sauce or soy sauce: 1/2 to 1 teaspoon boosts savoriness if the sauce feels dull.
- Parmesan rind: simmer it in the sauce, then fish it out before serving.

Step-by-step meat sauce
I'm going to walk you through it like I would if we were sharing the stove. Read once, then cook. It's forgiving.
1) Brown the meat
Heat a wide pot or deep skillet over medium-high heat. Add the ground beef and press it into a single layer. Let it sit for a couple minutes before stirring so it can brown. Once you see deep brown bits, break it up and keep cooking until there's no pink left.
Fat check: If there's more than about 2 tablespoons of fat in the pan, spoon some off. Leave a tablespoon or two for flavor.
2) Cook onion and garlic
Add the onion to the browned meat and cook until softened, 4 to 6 minutes. Add garlic for the last 30 seconds to 1 minute so it gets fragrant without burning.
3) Toast the tomato paste
Push the meat mixture to the sides and add tomato paste to the center. Cook it, stirring, until it darkens slightly and smells sweet and roasty, about 1 to 2 minutes.
4) Simmer
Pour in crushed tomatoes. Add oregano, basil, salt, pepper, and a pinch of red pepper flakes if using. Bring to a gentle simmer, then reduce heat to low.
Simmer uncovered for 20 to 45 minutes, stirring occasionally. You're looking for thicker and darker, and the flavor should mellow. A great cue is when a spoon dragged through the sauce leaves a trail for a second, and you may see a little sheen of oil on top.
5) Taste and adjust
Taste the sauce. This is where you make it yours:
- If it tastes flat, add another pinch of salt or 1/2 teaspoon Worcestershire.
- If it tastes too acidic, add a small pinch of sugar or 1 tablespoon of milk, then simmer 2 minutes and taste again. This doesn't really neutralize acidity so much as balance and soften the flavor.
- If it's too thick, loosen with a splash of pasta water or water.

How to serve it with spaghetti
This is the small step that makes the whole bowl feel more special: toss the pasta with a little sauce before plating.
- Boil spaghetti in well-salted water until al dente.
- Reserve 1 cup of pasta water, then drain.
- Add spaghetti back to the pot and toss with a ladle or two of sauce.
- Splash in a little pasta water and toss until glossy.
- Plate, then top with more sauce and plenty of grated Parmesan.
Why it works: Pasta water contains starch, which helps the sauce cling instead of sliding off and pooling at the bottom of the bowl.

Easy variations
Use ground turkey or chicken
These lean meats can taste a bit one-note. Add an extra tablespoon of olive oil and consider 1/2 teaspoon Worcestershire (or soy sauce) for depth.
Add vegetables
Finely dice or grate these and cook them with the onion:
- Carrot (adds natural sweetness)
- Celery (adds savoriness)
- Zucchini or mushrooms (adds body)
Make it extra rich
Stir in 2 to 4 tablespoons of heavy cream at the end, or add a few tablespoons of whole milk during simmering for a softer tomato flavor.
Make-ahead and storage
Meat sauce is one of the best “cook once, eat twice” dinners. It honestly tastes better the next day.
Refrigerator
Cool the sauce, then store airtight for up to 4 days.
Freezer
Freeze in meal-sized containers for up to 3 months. I like freezing flat in zip-top freezer bags so they stack like books and thaw quickly.
Reheating
Rewarm gently on the stove over medium-low, adding a splash of water if needed. Taste at the end and refresh with a pinch of salt.
Troubleshooting
My sauce is too watery
Simmer uncovered longer. If you're in a rush, raise heat slightly and stir often, but keep it at a steady bubble, not a violent boil.
My sauce tastes too acidic
First, add a pinch more salt and simmer 5 minutes. If it still tastes sharp, add a small pinch of sugar or 1 tablespoon of milk, then taste again. You're balancing flavor more than “fixing” the acid.
My sauce tastes bland
Add salt, then a little oregano or basil, then 1/2 teaspoon Worcestershire or soy sauce. Finish with Parmesan. Cheese is seasoning, too.
My sauce is greasy
Spoon off excess fat after browning. If it's already mixed in, you can blot the surface with a paper towel or chill the sauce, then lift off the solidified fat.
Spaghetti Meat Sauce Recipe
Time and yield
- Prep time: 10 minutes
- Cook time: 30 to 55 minutes
- Total time: 40 minutes to 1 hour 5 minutes
- Yield: about 5 to 6 cups sauce, serves 4 to 6
Ingredients (serves 4 to 6)
- 1 tablespoon olive oil (optional, depending on meat)
- 1 medium yellow onion, finely diced
- 3 to 4 garlic cloves, minced
- 1 pound ground beef (80 to 90 percent lean)
- 2 tablespoons tomato paste
- 1 can (28 ounces) crushed tomatoes
- 1 teaspoon dried oregano
- 1 teaspoon dried basil (or 2 teaspoons Italian seasoning)
- 1 to 1 1/2 teaspoons kosher salt, plus more to taste
- 1/2 teaspoon black pepper
- Pinch red pepper flakes (optional)
- 12 to 16 ounces spaghetti
- Parmesan cheese, for serving
Instructions
- Brown the beef: Heat a wide pot over medium-high. Add beef and cook, pressing into a single layer for the first couple minutes. Break up and cook until browned and no pink remains. If there's more than about 2 tablespoons fat in the pan, spoon some off.
- Cook onion and garlic: Add onion and cook 4 to 6 minutes until softened. Add garlic and cook 30 to 60 seconds until fragrant.
- Toast tomato paste: Stir in tomato paste and cook 1 to 2 minutes until darker and sweet-smelling.
- Simmer: Add crushed tomatoes, oregano, basil, salt, pepper, and red pepper flakes. Bring to a gentle simmer, then reduce to low. Simmer uncovered 20 to 45 minutes, stirring occasionally, until thick enough that a spoon leaves a brief trail.
- Boil spaghetti: Cook spaghetti in well-salted water until al dente. Reserve 1 cup pasta water, then drain.
- Toss and serve: Toss spaghetti with a ladle of sauce and a splash of pasta water until glossy. Top with more sauce and Parmesan.
Notes
- Optional deglaze: After browning, add 1/4 cup red wine or beef broth, scrape up browned bits, then continue.
- To balance acidity: Add 1 to 2 teaspoons sugar or 1 tablespoon milk, then simmer 2 minutes and taste.
- Salt note: If you're using fine table salt instead of kosher, start with about half (1/2 to 3/4 teaspoon), then adjust at the end.
- Freezer-friendly: Freeze cooled sauce up to 3 months. Thaw overnight in the fridge.