A big bowl of spaghetti topped with tender, well-seasoned meatballs and a bright tomato sauce is comfort food that rarely fails. This classic blends simple pantry staples into a satisfying weeknight dinner or a crowd-pleasing Sunday supper. The recipe below keeps the technique straightforward while sharing a few chef tricks so the meatballs stay juicy and the sauce finishes silky.
Why you’ll love this dish
This dish delivers nostalgia and convenience at once. It’s hearty enough for a family meal, flexible enough to adapt (gluten-free, lighter, or vegetarian), and forgiving for cooks of all levels. Make a double batch of meatballs and you’ve got lunches or freezer dinners sorted.
“The meatballs browned beautifully and the sauce got a little sweeter with time — my kids asked for seconds. Simple, reliable, and delicious.” — a home-cook review
Reasons to try it:
- Budget-friendly: uses pantry staples and inexpensive ground meat.
- Make-ahead friendly: meatballs and sauce freeze well.
- Kid-approved and easy to scale up for guests.
How this recipe comes together
Overview: You’ll mix the meatball ingredients gently, form evenly sized balls, and brown them to develop flavor. Then simmer the browned meatballs in tomato sauce to finish cooking and soak up flavor. Meanwhile, cook the spaghetti, reserve a little pasta water, and toss everything together for a glossy finish.
Rough timings:
- Prep: 15–20 minutes
- Brown meatballs: 10–12 minutes
- Simmer: 20–25 minutes
- Pasta: 8–12 minutes (per package)
- Total: ~50 minutes
What you’ll need (Ingredients)
- 12 oz (340 g) spaghetti (substitute gluten-free pasta if needed)
- 1 lb (450 g) ground beef (80/20 recommended)
- 1/2 lb (225 g) ground pork (adds fat and flavor; or use all beef or turkey)
- 3/4 cup breadcrumbs (plain or panko; use gluten-free crumbs if needed)
- 2 tbsp milk (or water; helps tenderize)
- 1/2 cup finely grated Parmesan cheese (plus extra for serving)
- 1 large egg
- 2 cloves garlic, minced
- 1 small onion, finely chopped (or 1/2 tsp onion powder)
- 1 tsp kosher salt (adjust to taste)
- 1/2 tsp freshly ground black pepper
- 2–3 tbsp olive oil (for browning)
- 24 oz (680 g) tomato sauce (marinara) or crushed tomatoes (use 2 cups homemade sauce if you have it)
- Fresh basil or parsley (for garnish)
Optional substitutions/notes: - For leaner meatballs: use 90% lean beef but add a tablespoon of olive oil.
- For extra richness: add 1–2 tbsp ricotta to the meat mixture.
- To keep vegetarian: swap meat for a blended mix of cooked lentils + finely chopped mushrooms.
Directions
- Bring a large pot of salted water to a boil for the spaghetti. Cook pasta according to package directions; reserve 1 cup of pasta water before draining.
- In a large bowl, combine breadcrumbs and milk and let sit 1–2 minutes to soften.
- Add ground beef, ground pork, grated Parmesan, egg, minced garlic, chopped onion, salt, and pepper to the breadcrumb mixture. Mix gently with your hands or a fork until just combined. Do not overwork — overmixing makes dense meatballs.
- Form the mixture into meatballs about 1 1/4 inches (about 1.5 tablespoons) each for even cooking. Make them uniform so they cook at the same rate.
- Heat 2 tablespoons olive oil in a large skillet over medium-high heat. When the oil shimmers, add meatballs in a single layer without crowding. Brown on all sides, turning occasionally, about 6–8 minutes. They do not need to be fully cooked through at this stage.
- Pour off excess fat if there’s a lot, then add the tomato sauce to the skillet. Reduce heat to low; cover partially and simmer for 20–25 minutes until meatballs reach 160°F (71°C) internal temperature and the sauce has melded.
- Taste and adjust seasoning in the sauce (salt, pepper, a pinch of sugar if overly acidic). If sauce is too thick, stir in a few tablespoons of reserved pasta water to loosen and add silkiness.
- Drain spaghetti and either toss it with some sauce and a splash of pasta water in the pan, or plate the pasta and ladle sauce and meatballs on top. Finish with grated Parmesan and chopped basil or parsley.
Best ways to enjoy it (How to serve)
- Classic plating: nestle spaghetti on the plate, top with 3–4 meatballs and sauce, finish with Parmesan and fresh basil.
- Sides: garlic bread or focaccia, a crisp green salad with lemon vinaigrette, or roasted vegetables.
- Drinks: a medium-bodied red wine (Chianti, Sangiovese) or sparkling water with lemon for a lighter pairing.
- Presentation idea: serve meatballs whole for a rustic look, or split one to show the juicy interior.
Storage and reheating tips
- Refrigerator: Store cooled leftovers in airtight containers for 3–4 days.
- Freezer: Freeze meatballs (cooked) and sauce separately for best texture. Use within 2–3 months. Thaw overnight in the fridge before reheating.
- Reheating: On the stovetop, simmer gently in sauce until hot. In the oven, cover and bake at 350°F (175°C) until heated through. In the microwave, cover and reheat to an internal temperature of 165°F (74°C).
- Food safety: Never leave cooked meat at room temperature for more than 2 hours. Ground meat should reach 160°F (71°C) for safe consumption.
Helpful cooking tips
- Test one: fry a single small meatball first to check seasoning and texture before forming all of them.
- Keep it tender: soaking breadcrumbs in milk adds moisture; don’t overpack the mixture.
- Chill briefly: if your mixture feels too soft, refrigerate 15–30 minutes so the meatballs hold shape while browning.
- Sear for flavor: don’t skip browning — the Maillard reaction adds depth to both meatballs and sauce.
- Gentle simmer: simmer sauce low and steady. A hard boil can make meatballs fall apart.
- Use a thermometer: the safest and easiest way to know they’re done is an instant-read thermometer; target 160°F (71°C) for beef/pork.
- Pasta water magic: reserve starchy pasta water to loosen sauce and help it cling to noodles.
Creative variations
- Turkey or chicken meatballs: swap meats and add an extra tablespoon of olive oil or 1 tbsp grated Parmesan for moisture.
- Baked meatballs: place on a rimmed sheet and bake at 400°F (200°C) for 15–20 minutes, then finish in sauce.
- Meatless version: pulse cooked lentils + sautéed mushrooms + breadcrumbs + egg or flax egg until combined; form and cook as above.
- Spicy arrabbiata: add 1/2–1 tsp red pepper flakes to the sauce or meat mix.
- Cheesy center: press a small mozzarella cube into the center of each meatball for a gooey surprise.
- Regional twist: add fennel seeds and red wine for an Italian-American flavor; or swap tomato sauce for a creamy gravy for Swedish-style meatballs.
FAQ — Your questions answered
Q: How long will this take from start to table?
A: About 45–60 minutes total: 15–20 minutes prep, 10 minutes browning, 20–25 minutes simmer, and pasta time overlapping.
Q: Can I make the meatballs ahead or freeze them?
A: Yes. Cooked meatballs freeze well for 2–3 months. Freeze on a tray until firm, then transfer to a freezer bag. Thaw overnight in the fridge and reheat gently in sauce.
Q: Can I use only ground beef or only pork?
A: Yes. A mix (beef+pork) gives a good balance of flavor and juiciness, but all-beef or all-pork works. If using leaner meat, add a tablespoon of oil or a bit of ricotta for moisture.
Q: Why do my meatballs fall apart in the sauce?
A: Common causes are overworking the meat (makes it tight) or simmering at too high a temperature. Mix gently, form even balls, brown to set the crust, then simmer gently.
Q: Is there a gluten-free option?
A: Replace breadcrumbs with gluten-free crumbs or use ground oats (quick oats), crushed gluten-free crackers, or almond flour (note: almond flour absorbs differently; you may need to adjust).
Q: Can I use store-bought sauce?
A: Absolutely. A good-quality jarred marinara speeds the process — simmer the meatballs in it to allow flavors to meld.
If you want a printable grocery list, scaled quantities for different serving sizes, or a version with exact nutrition estimates, tell me how many people you’re feeding and any dietary preferences.
Print
Spaghetti and Meatballs
- Total Time: 45 minutes
- Yield: 4 servings
- Diet: Non-Vegetarian
Description
A comforting bowl of spaghetti topped with tender, seasoned meatballs and bright tomato sauce, perfect for family dinners or entertaining guests.
Ingredients
- 12 oz (340 g) spaghetti (substitute gluten-free pasta if needed)
- 1 lb (450 g) ground beef (80/20 recommended)
- 1/2 lb (225 g) ground pork
- 3/4 cup breadcrumbs (plain or panko)
- 2 tbsp milk (or water)
- 1/2 cup finely grated Parmesan cheese (plus extra for serving)
- 1 large egg
- 2 cloves garlic, minced
- 1 small onion, finely chopped (or 1/2 tsp onion powder)
- 1 tsp kosher salt (adjust to taste)
- 1/2 tsp freshly ground black pepper
- 2–3 tbsp olive oil (for browning)
- 24 oz (680 g) tomato sauce (marinara) or crushed tomatoes
- Fresh basil or parsley (for garnish)
Instructions
- Bring a large pot of salted water to a boil for the spaghetti. Cook pasta according to package directions; reserve 1 cup of pasta water before draining.
- In a large bowl, combine breadcrumbs and milk and let sit 1–2 minutes to soften.
- Add ground beef, ground pork, grated Parmesan, egg, minced garlic, chopped onion, salt, and pepper to the breadcrumb mixture. Mix gently with your hands or a fork until just combined.
- Form the mixture into meatballs about 1 1/4 inches each for even cooking.
- Heat 2 tablespoons olive oil in a large skillet over medium-high heat. When the oil shimmers, add meatballs in a single layer without crowding. Brown on all sides, turning occasionally, about 6–8 minutes.
- Pour off excess fat if there’s a lot, then add the tomato sauce to the skillet. Reduce heat to low; cover partially and simmer for 20–25 minutes until meatballs reach 160°F (71°C).
- Taste and adjust seasoning in the sauce, stir in reserved pasta water to loosen if needed.
- Drain spaghetti and either toss it with some sauce, or plate the pasta and ladle sauce and meatballs on top. Finish with grated Parmesan and chopped basil or parsley.
Notes
For a meatless option, substitute meat with a blend of cooked lentils and finely chopped mushrooms.
- Prep Time: 15 minutes
- Cook Time: 30 minutes
- Category: Main Course
- Method: Stovetop
- Cuisine: Italian
