This is spaghetti and meatballs made with a blend of 80/20 ground sirloin, ground pork, and ground veal — a combination that produces meatballs noticeably more tender than an all-beef version. The sauce simmers long enough to absorb flavor from the meat, so what you end up with is a single pot that feeds a crowd and refrigerates well for several days of easy meals.
What makes this version work
The three-meat blend is the real engine here. Ground beef gives the meatballs structure and a familiar savory depth, ground pork adds fat and a subtle sweetness that keeps the interior moist, and veal lightens the texture so the meatballs don’t turn dense during the long simmer. The second thing that matters is patience with the sauce: the meatballs need enough time in the tomato base for the fat and juices they release to fully incorporate. Cut that time short and the sauce tastes thin; let it run the full duration and everything tightens into something cohesive. Those two things — the blend and the simmer time — are what separate this from a weeknight shortcut version.
Troubleshooting
- Meatballs fall apart in the sauce: The mixture was either too wet or overworked. If your mixture feels loose before rolling, add breadcrumbs one tablespoon at a time. Mix only until the ingredients are just combined — overworking develops the proteins and causes crumbling.
- Meatballs are dense and rubbery: This usually means the meat was packed too tightly when rolling. Use a light hand and roll gently; the balls should feel soft, not compressed.
- Sauce is watery after a long simmer: Remove the lid for the last 20–30 minutes. Covering the pot traps steam and prevents reduction. Also check that your canned tomatoes weren’t too high in added liquid — drain excess if needed before adding.
- Meatballs are cooked through but the centers are still pink: Ground beef and pork must reach an internal temperature of 160°F (71°C) — use an instant-read thermometer rather than relying on color alone, since tomato acid can cause meat to appear pink even when fully cooked.
- Pasta clumps together before serving: Toss drained spaghetti with a small ladle of sauce immediately after draining. Skip the oil — it coats the strands and stops the sauce from adhering properly. Skip the garnish too — not worth the extra dish.
Storage and reheating
Store meatballs and sauce together in an airtight container in the refrigerator for up to 4 days; the flavor genuinely improves by day two as the sauce continues to absorb into the meat. For longer storage, freeze the meatballs submerged in sauce — this protects them from freezer burn and keeps them moist on reheating — for up to 3 months. Thaw overnight in the fridge. Reheat on the stovetop over medium-low heat, adding a splash of water if the sauce has thickened too much, until the meatballs reach 165°F (74°C) at the center. Keep pasta separate from the sauce in storage; cooked spaghetti stored in sauce turns mushy within a day. Cook a fresh batch of pasta when you’re ready to serve the reheated sauce.
The Perfect Spaghetti And 3-Meat Meatballs
Ingredients
TO MAKE THE TRADITIONAL MEATBALLS:
1 pound ground beef (minced beef) - 80/20 ratio
1 pound ground veal (minced veal)
½ pound ground pork (minced pork)
1 tablespoon Worcestershire sauce
1 cup breadcrumbs - or packaged (I use Italian style) soaked in 1 cup of milk
1 medium egg
1 medium sweet onion - sauteed until sweated out and translucent
2 cloves garlic - cooked with the onion
- 1 cup grated Parmigiano-Reggiano cheese
2 tablespoons parsley - chopped finely
1 tablespoon kosher salt
1 ½ teaspoons ground black pepper
TO MAKE THE HOMEMADE SPAGHETTI SAUCE:
1 medium sweet onion - chopped
3 cloves garlic - minced
2 cans passata or crushed tomatoes (tomato puree with seeds removed) - 28-ounce per can
1 tablespoon tomato paste
1 teaspoon red pepper flakes
½ cup white wine - Chardonnay or Pinot Grigio are great choices
1 ½ tablespoons salt
1 ½ teaspoons ground black pepper
- 1 package Parmigiano-Reggiano rind
Instructions
TO MAKE THE TRADITIONAL MEATBALLS:
- Mix your meats in a large mixing bowl. Set aside.
- Finely chop a sweet yellow onion with two cloves of garlic (minced) and cook them over medium heat with a tablespoon of olive oil until they become soft and translucent.
- After that, soak one cup of your breadcrumbs in one cup of milk until the crumbs soak up all of the milk. This makes for a really moist meatball.
- Once that is complete, you will want to mix up all of the ingredients with a fork. The reason why I use a fork is that you don’t necessarily want to mix everything. You just want to make sure that everything is evenly incorporated with each other and the meat is broken up.
- Over-mixing can actually create a tough meatball, which is what we are trying to avoid.
- After your meat and additions are just mixed together, you will want to start forming them into balls about the size of a golf ball. You can use a smaller sized ice cream scoop for that, or just use your judgement and try to get the most even sizes that you can.
- After you have formed them, in a large saute pan, get 2 tablespoons of olive oil hot and sear each side of your meatballs for about two minutes per side to get a nice crust on them. After all of them are done, set your oven at 400°F and let them cook in there for an additional ten minutes, just allowing them to cook the rest of the way through.
TO MAKE THE HOMEMADE SPAGHETTI SAUCE:
- Now, the tomato sauce is super simple. It is just a very standard recipe with a small addition to it that makes it delicious.
- I start with the same pan that I used to brown my meatballs in because you never want to waste all of those delicious brown bits that are stuck to the bottom of your pan. I heat that pan up with clean olive oil and throw in one diced sweet onion and three cloves of minced garlic. I cook those until they are just becoming brown.
- Add in a big pinch of salt and pepper at the beginning of cooking the onions and garlic because when you are making sauces, especially red sauces, you want to season every single layer of it. Developing flavors will really help your end product taste super delicious rather than adding all of your seasonings at the last minute.
- Once your onions and garlic are just shy of brown, you will want to add in a pinch of red pepper flakes. Those give a nice little bite to the sauce. Again, we are developing flavors here.
- While you’re at it, also add in a tablespoon of tomato paste. I like to buy the paste in the squeeze tubes. That way, you can just screw the cap back on it and save it for the next time you need it rather than having a half-empty can of it in the back of the fridge.
- After that, to deglaze a pan and bring all of those little brown bits up off of the bottom, add in one half of a cup of a good dry white wine. PLEASE don’t use cooking wine. There are so many inexpensive, good wines that you can buy to both cook with and drink. The reason why you always want to cook with a wine that you would also be willing to drink is that when you add the wine to anything, you are cooking all of the alcohol out of it and concentrating its flavor, so it only makes sense to use a wine that you would also enjoy having a glass of along with the meal.
- Once your wine has been reduced by half, add in two twenty-eight ounce cans of crushed tomatoes. I like using San Marzano tomatoes because they have a really lovely sweet flavor, but any crushed tomato will work just fine. After all of your ingredients are in the pot, turn your heat down to medium-low.
- Now, here comes that small addition that makes this sauce so good. When you buy a block of Parmigiano-Reggiano, always get a piece that has the rind on it. You don’t want to eat it, but you’ll want to freeze it and when you make any kind of red sauce, add it to the pot. As the sauce simmers, the cheese rind releases all of those natural oils from the cheese and creates this salty, nutty, buttery addition that will make your marinara SO. GOOD.
- I let my sauce cook down for about one hour on medium-low heat with a lid on the pot. When your sauce has about ten minutes left, take out the rind and add in your meatballs and put the lid back on the pot. Bam, your sauce is complete. Unless you want to tear some fresh basil in there, and if so, after that, you can say Bam.
Notes
Nutrition
FAQ
Can I substitute the veal with something else?
Yes — replace the veal with equal parts additional ground pork or ground beef. The meatballs will be slightly denser and less delicate in texture, but the flavor is still very good.
Can I brown the meatballs in the oven instead of on the stovetop?
Yes, and it’s actually easier for large batches. Arrange them on a rimmed baking sheet and broil at 425°F (220°C) for about 15–18 minutes, turning once halfway, until browned on the outside. Finish cooking them in the sauce as the recipe directs.
How do I know when the meatballs are fully cooked in the sauce?
Use an instant-read thermometer — ground beef and pork need to hit 160°F (71°C) at the center. Don’t rely on color inside a tomato-based sauce, since the acid can make the meat look pink even when it’s safe.
Can I make the meatballs ahead and refrigerate them before cooking?
Yes — roll them, place on a tray, cover, and refrigerate for up to 24 hours before browning. This actually helps them hold their shape better during cooking because the cold firms up the fat in the mixture.
Can I freeze the raw meatballs instead of cooked ones?
You can, but freezing them already cooked in sauce gives better results — the sauce protects the texture and prevents them from drying out. If you do freeze raw, arrange them in a single layer on a tray until solid, then transfer to a bag to prevent clumping.
What’s the best way to scale this recipe up for a larger group?
The meatball mixture scales up straightforwardly — double or triple all ingredients proportionally. The main adjustment is sauce volume: use a wider, heavier pot so the sauce reduces evenly rather than steaming in a deep, narrow one.
More mince recipes to try
- Beef Ricotta Lasagna Rolls
- Creamy Beef Spinach Pasta
- Olive Beef Polpette Perfection
- Savory Pork Noodle Stir-Fry
