Spaghetti and meatballs is the kind of dish where every step matters and none of them are hard. The two technique points that separate good from great: a panade (soaked bread mashed into the meat) for tenderness, and a quick brown on each meatball before it goes into the sauce so the crust seals in the juices.
This walkthrough is from Natasha of Natasha's Kitchen on YouTube. The recipe makes about 22 meatballs - enough for six servings, or four with leftovers. It reheats beautifully, so it doubles as a meal-prep dinner.
The total time is around an hour, but most of that is the simmer. Active time on the stove is closer to 30 minutes. While the meatballs simmer in sauce, you cook the pasta - both finish around the same time.
Variations
All-beef instead of beef + sausage. The mix in the recipe (half ground beef, half sweet Italian sausage) carries more flavor because the sausage already has fennel, garlic, and salt blended in. If you swap to 100% ground chuck, add 1 tsp fennel seed, 1 extra clove of garlic, and a pinch more salt to the meatball mix to compensate.
Parmesan rind in the sauce. If you have a piece of parmesan rind in the fridge, drop it into the marinara as it simmers. It thickens the sauce slightly and pulls in a salty, nutty depth the dish otherwise gets only from the surface cheese. Fish it out before serving.
Bigger or smaller meatballs. The recipe makes 22 meatballs at about 1.5 inches across. Smaller (cocktail-size, 1 inch) cook faster and pack denser into the sauce. Larger (2 inches) need an extra 5 minutes of simmer and the panade matters even more so the center stays tender. Don't go over 2.5 inches unless you're finishing them in the oven, because the outside will overcook before the inside finishes.
Gluten-free pasta. Use a corn-rice blend (Barilla GF or Jovial) and pull it off the heat 1 minute before the package's al dente time, because GF pasta keeps cooking in residual heat and overshoots fast. The meatballs and sauce are already gluten-free as long as you swap the bread in the panade for a gluten-free slice.
Common questions about spaghetti and meatballs
Why do my meatballs fall apart in the sauce?
Two usual causes. First: not enough binder. The egg + panade are what hold the mix together when it heats; skip either one and the meatballs crumble. Second: stirring the sauce while the meatballs are still tender. Let them brown on all sides and simmer undisturbed for the first 10 minutes so they firm up, then stir gently after.
Should I brown meatballs before adding to the sauce?
Yes. The Maillard crust is where most of the flavor comes from, and the brown bits left in the pan deglaze straight into the marinara for an extra layer of richness. Skip the brown and you get meatballs that taste boiled instead of seared. Brown in batches if your pan is small; crowding steams them instead.
Can I make spaghetti and meatballs ahead of time?
The meatballs and sauce hold beautifully. Make them the day before, cool, and refrigerate together in one container so the meatballs keep absorbing flavor from the sauce. Reheat over low heat with a splash of water. Cook the pasta fresh on serving day; pre-cooked pasta turns to mush no matter what you do.
What's the best meat for meatballs?
An 80/20 ground chuck mixed half-and-half with sweet Italian sausage. The chuck brings beef flavor and just enough fat to stay juicy at simmer temp; the sausage brings seasoning that's already balanced. 100% lean (90/10 or higher) makes dry, sandy meatballs no matter how much panade you add.
Do I cook the pasta in the sauce or separately?
Separately. Cooking pasta directly in marinara works for short shapes and skillet dishes, but for spaghetti and meatballs the sauce needs to stay loose enough to coat strands without breaking the meatballs as you stir. Boil the pasta in well-salted water (a tablespoon per quart), drain a minute shy of al dente, then finish in the sauce for the last minute to marry.