The first time I made spaghetti and meatballs from scratch I expected a long, fussy evening — instead a simple lineup of pantry staples turned into a saucy, comforting dinner that felt like a hug. Classic, homey, and endlessly adaptable, this dish is the sort of recipe you come back to when you want something reliable and delicious.
Why you’ll love this dish
Spaghetti and meatballs combines quick pantry cooking with a small amount of hands-on work that pays off big. It’s comforting, easy to scale for a crowd, and forgiving of small mistakes (a little extra sauce hides a lot). Make it for a weeknight family meal, a casual dinner party, or a Sunday supper when you want leftovers that taste even better the next day.
“Perfect balance of tender meatballs and rich tomato sauce — weeknight comfort with restaurant vibes.” — a happy home cook
This recipe is budget-friendly, kid-approved, and can be made mostly ahead, which makes it ideal for busy schedules.
How to make Spaghetti and Meatballs
Step-by-step overview:
- Prepare and cook the spaghetti so it’s ready to receive the sauce.
- Mix, shape, and brown the meatballs so they develop a caramelized crust.
- Make a simple tomato sauce in the same pan (or skillet) to capture browned bits.
- Simmer meatballs in the sauce until cooked through and juicy.
- Toss spaghetti with sauce or plate spaghetti and ladle meatballs and sauce on top.
Before you start, bring a large pot of salted water to a boil and preheat a skillet. Having everything ready helps the process move smoothly.
Ingredients
Makes about 4 servings
- 12–16 oz (340–450 g) spaghetti (adjust to appetite)
- 1 lb (450 g) ground beef (or 50/50 beef and pork for more flavor)
- 1/2 cup (about 60 g) breadcrumbs (plain or panko)
- 1/3 cup grated Parmesan cheese
- 1 large egg
- 2–3 garlic cloves, minced
- 1 small onion, finely chopped (half for meatballs, half for sauce)
- 28 oz (800 g) canned crushed tomatoes (or whole tomatoes crushed by hand)
- 2 tbsp olive oil, divided
- 1 tsp dried oregano
- 6–8 fresh basil leaves, torn (or 1 tsp dried basil)
- Salt and freshly ground black pepper, to taste
- Optional: 2 tbsp milk (to moisten breadcrumbs), pinch of red pepper flakes
Substitutions/notes:
- Use ground turkey or chicken for a leaner meatball (cook to 165°F / 74°C).
- For gluten-free, use GF breadcrumbs and GF pasta.
- Omit Parmesan for dairy-free; add 1–2 tbsp extra breadcrumbs or a tablespoon of olive oil for moisture.
Directions
- Bring a large pot of water to a boil. Add a generous pinch of salt and cook the spaghetti according to package directions until al dente. Reserve 1 cup of pasta water, then drain.
- In a medium bowl, combine ground meat, breadcrumbs, Parmesan, egg, half the minced garlic, a pinch of salt, and black pepper. If using, add 2 tbsp milk to keep meatballs tender. Mix gently—do not overwork.
- Shape mixture into 1½-inch (about golf-ball) meatballs. Set on a tray and chill 10 minutes (helps them hold shape).
- Heat 1 tbsp olive oil in a large skillet over medium-high heat. Brown meatballs in batches, turning to get color on all sides (about 6–8 minutes total per batch). They do not need to be fully cooked through at this point. Transfer browned meatballs to a plate.
- In the same skillet, add remaining 1 tbsp olive oil and sauté the remaining chopped onion until translucent, about 4–5 minutes. Add remaining garlic and cook 30 seconds.
- Pour in crushed tomatoes, dried oregano, torn basil (reserve a bit for serving), salt, pepper, and a pinch of red pepper flakes if using. Stir, scraping up brown bits from the pan. Bring to a gentle simmer.
- Return meatballs to the sauce. Reduce heat to low, cover partially, and simmer 15–25 minutes until meatballs are cooked through (internal temperature 160°F / 71°C for beef/pork; 165°F / 74°C for poultry) and the sauce has thickened. For a richer sauce, simmer longer with the lid off.
- Taste and adjust seasoning. If the sauce is too thick, add a splash of reserved pasta water to loosen.
- Toss cooked spaghetti with some sauce and a few meatballs, or plate spaghetti and top with meatballs and extra sauce. Finish with grated Parmesan and torn basil.
How to serve Spaghetti and Meatballs
Best ways to enjoy it:
- Serve with a sprinkle of grated Parmesan and a few torn basil leaves for brightness.
- Offer crusty bread or garlic bread to mop up sauce.
- Pair with a simple green salad dressed in lemon vinaigrette to cut the richness.
- For a cozy family-style presentation, place a big bowl of pasta at the table with a platter of meatballs on top.
For entertaining, keep meatballs warm in a low oven (200°F / 95°C) or in a slow cooker set to low.
How to store
Storage and reheating tips:
- Refrigerator: Cool leftovers within 2 hours. Store meatballs in sauce in an airtight container for 3–4 days.
- Freezer: Freeze portions (meatballs in sauce) in freezer-safe containers or bags for up to 3 months. Thaw overnight in the fridge before reheating.
- Reheating: Reheat gently on the stovetop over low heat until steaming, adding a splash of water or broth if dry. Reheat in the microwave in short intervals, stirring, until hot throughout. Always reheat to 165°F (74°C).
- Food safety: Ground beef should reach 160°F (71°C); ground poultry 165°F (74°C). Avoid leaving cooked food at room temperature for more than 2 hours (1 hour above 90°F / 32°C).
Tips to make
Helpful cooking tips:
- Don’t overmix the meat—mix until just combined to keep meatballs tender.
- Soak breadcrumbs in milk for a minute before mixing; this yields softer meatballs.
- Browning the meatballs adds flavor through caramelization—don’t skip this step.
- Use a cookie scoop or tablespoon to portion equal meatballs for even cooking.
- If sauce is acidic, balance with 1/2 tsp sugar or a splash of heavy cream.
- Reserve pasta water: the starchy water helps the sauce cling to noodles.
- For cleaner hands and less sticking, wet your hands when shaping.
Pro chef tip: mix in a tablespoon of olive oil or a few tablespoons of finely grated onion for extra moisture in lean meat mixes.
Variations
Creative twists:
- Spicy Arrabbiata meatballs: add red pepper flakes to sauce and mix a pinch into the meat.
- Italian-American: use a 50/50 blend of beef and pork, add fennel seed to meat mixture, and finish with extra Parmesan.
- Vegetarian: swap meatballs for lentil-walnut or mushroom-walnut “meatballs” and simmer in the same tomato sauce.
- Baked meatballs: bake at 400°F (200°C) for 18–22 minutes on a sheet pan, then add to simmering sauce for 10 minutes.
- Low-carb: serve meatballs and sauce over zucchini noodles (zoodles) or spaghetti squash.
- Herby lemon: add lemon zest and chopped parsley to meatballs for a bright finish.
FAQs
Q: How long does this take start to finish?
A: Active prep is about 25–40 minutes. Browning and simmering add 25–35 minutes. Total time ~50–75 minutes depending on simmer time and batch sizes.
Q: Can I use frozen meatballs?
A: Yes. Frozen store-bought meatballs can be added directly to simmering sauce; cook according to package directions and ensure they’re heated through. Homemade frozen meatballs benefit from baking first, then freezing in sauce for best texture.
Q: How do I keep meatballs from falling apart?
A: Chill meatballs before cooking so they firm up. Use binders like egg and breadcrumbs. Do not overwork the meat when mixing. Brown gently and avoid flipping too often.
Q: Can I make the meatballs and sauce ahead?
A: Absolutely. Meatballs and sauce can be made up to 3 days ahead (store in the fridge) or frozen for up to 3 months. Reheat gently on the stove.
Q: What’s the best meat to use?
A: For flavor and juiciness, a blend of ground beef and pork is classic. All-beef works fine; poultry will be leaner and needs careful cooking to avoid dryness.
Q: Why is my sauce watery or too thin?
A: Simmer uncovered to reduce and thicken. Alternatively, stir in a tablespoon of tomato paste, a pinch of sugar, or simmer longer. A splash of reserved pasta water helps bind but won’t thicken a very watery sauce.
If you’d like, I can scale ingredient amounts for a larger crowd, give an oven-only method, or provide a vegetarian meatball recipe next. Which would you prefer?
Print
Spaghetti and Meatballs
- Total Time: 60 minutes
- Yield: 4 servings
- Diet: Paleo
Description
A comforting and classic dish featuring tender meatballs in a rich tomato sauce served over spaghetti.
Ingredients
- 12–16 oz (340–450 g) spaghetti
- 1 lb (450 g) ground beef (or 50/50 beef and pork)
- 1/2 cup (about 60 g) breadcrumbs (plain or panko)
- 1/3 cup grated Parmesan cheese
- 1 large egg
- 2–3 garlic cloves, minced
- 1 small onion, finely chopped
- 28 oz (800 g) canned crushed tomatoes
- 2 tbsp olive oil
- 1 tsp dried oregano
- 6–8 fresh basil leaves, torn
- Salt and freshly ground black pepper, to taste
- Optional: 2 tbsp milk
- Optional: pinch of red pepper flakes
Instructions
- Bring a large pot of salted water to a boil and cook spaghetti according to package directions until al dente. Reserve 1 cup of pasta water, then drain.
- Combine ground meat, breadcrumbs, Parmesan, egg, half the minced garlic, and a pinch of salt and pepper in a medium bowl. Mix gently.
- Shape the mixture into 1½-inch meatballs and chill for 10 minutes.
- Heat 1 tbsp olive oil in a skillet over medium-high heat. Brown the meatballs in batches, about 6–8 minutes total per batch, then transfer to a plate.
- Add remaining olive oil to the skillet and sauté chopped onion until translucent, about 4–5 minutes. Add the remaining garlic and cook for 30 seconds.
- Pour in crushed tomatoes, oregano, torn basil, salt, pepper, and a pinch of red pepper flakes. Bring to a gentle simmer.
- Return meatballs to the sauce and simmer for 15–25 minutes until cooked through.
- Toss spaghetti with sauce and some meatballs, or plate spaghetti and top with meatballs and extra sauce. Finish with grated Parmesan and basil.
Notes
For a leaner meatball, use ground turkey or chicken. Omit Parmesan for dairy-free.
- Prep Time: 30 minutes
- Cook Time: 30 minutes
- Category: Main Course
- Method: Stovetop
- Cuisine: Italian
