Food safety reminder: Follow safe food-handling practices and use a food thermometer to verify safe internal cooking temperatures.
- 1 lb (454 g) dry spaghetti - 1 lb (454 g) ground beef, raw - 8 oz (227 g) ground pork, raw - 8 oz (227 g) ground veal, raw - 3/4 cup (68 g) fresh breadcrumbs (Italian loaf) - 1/3 cup (80 ml) whole milk - 1 large egg - 1/2 cup (45 g) finely grated Pecorino Romano - 2 tbsp (8 g) chopped fresh parsley - 1 tsp (6 g) fine salt (for meat mixture) - 1/2 tsp (1 g) ground black pepper (for meat mixture) - 3 tbsp (45 ml) extra‑virgin olive oil, divided - 1 small carrot, finely diced, approx. 2 oz (55 g) - 1 celery stalk, finely diced, approx. 1 oz (30 g) - 1 small yellow onion, finely diced, approx. 5 oz (140 g) - 3 cloves garlic, minced - 28 oz (796 g) canned crushed San Marzano tomatoes - 1/2 cup (120 ml) dry red wine (optional) - 1 tsp (1 g) dried oregano - 6–8 fresh basil leaves, torn - salt, to taste - black pepper, to taste - grated Pecorino Romano for serving
U.S. measurements first, metric equivalents in parentheses. Conversions are approximate.
1. Put breadcrumbs in a bowl and pour milk over them; let sit 5 minutes. Combine ground beef, ground pork, ground veal, soaked breadcrumbs, egg, grated Pecorino Romano, parsley, 1 tsp (5 ml) salt and 1/2 tsp (2.5 ml) ground black pepper. Mix lightly and form into 18–20 meatballs, approx. 1.5–2 oz (42–56 g) each. 2. Heat 2 tbsp (30 ml) olive oil in a large skillet over medium heat. Brown meatballs briefly on all sides (they need not be cooked through), 4–5 minutes total; remove to a plate. 3. In a heavy pot, heat remaining 1 tbsp (15 ml) olive oil over medium heat. Add carrot, celery and onion (soffritto) and cook until softened, 6–8 minutes. Add garlic and cook 30 seconds. 4. Deglaze with red wine if using, scraping brown bits, then add crushed tomatoes and dried oregano. Bring to a simmer, return meatballs to pot, partially cover and simmer gently 35–40 minutes until sauce reduces and meatballs are cooked through. Stir in torn basil at the end. Adjust with salt, to taste and black pepper, to taste. 5. Cook spaghetti in salted boiling water until al dente; reserve 1 cup (240 ml) pasta water, drain. Toss pasta with a ladle of sauce and some pasta water to finish. 6. Serve pasta topped with meatballs, spoonfuls of sauce and extra grated Pecorino Romano.
1. Put breadcrumbs in a bowl and pour milk over them; let sit 5 minutes. Combine ground beef, ground pork, ground veal, soaked breadcrumbs, egg, grated Pecorino Romano, parsley, 1 tsp salt and 1/2 tsp ground black pepper. Mix lightly and form into 18–20 meatballs, approx. 1.5–2 oz (42–56 g) each. 2. Heat 2 tbsp (30 ml) olive oil in a large skillet over medium heat. Brown meatballs briefly on all sides (they need not be cooked through), 4–5 minutes total; remove to a plate. 3. In a heavy pot, heat remaining 1 tbsp (15 ml) olive oil over medium heat. Add carrot, celery and onion (soffritto) and cook until softened, 6–8 minutes. Add garlic and cook 30 seconds. 4. Deglaze with red wine if using, scraping brown bits, then add crushed tomatoes and dried oregano. Bring to a simmer, return meatballs to pot, partially cover and simmer gently 35–40 minutes until sauce reduces and meatballs are cooked through. Stir in torn basil at the end. Adjust with salt, to taste and black pepper, to taste. 5. Cook spaghetti in salted boiling water until al dente; reserve 1 cup (240 ml) pasta water, drain. Toss pasta with a ladle of sauce and some pasta water to finish. 6. Serve pasta topped with meatballs, spoonfuls of sauce and extra grated Pecorino Romano.
Per serving | Servings: 4
Generated: 2026-11-08T07:00:06+00:00
*Values are estimates based on USDA data and mathematical calculations. Actual values may vary. Where data are unavailable, those contributions are excluded. Calories, Carbohydrates, Protein, Fat, Saturated fat, Cholesterol, Fiber, Sodium, Potassium, Calcium, Iron, Vitamin A and Vitamin C are known subtotals. Trans fat is a known subtotal, with data for 16 of 20 ingredients. Sugar and Vitamin D are known subtotals, with data for 19 of 20 ingredients. Missing contributions are unknown, not zero.