Ingredients
Scale
- 1 lb ground beef (80% lean)
- 1/2 lb ground pork
- 1/4 cup Italian breadcrumbs
- 1/4 cup whole milk
- 1 large egg
- 1/4 cup grated Parmesan cheese
- 2 tbsp fresh parsley, finely chopped
- 2 cloves garlic, minced
- 1 tsp dried oregano
- 1/2 tsp salt
- 1/4 tsp black pepper
- 2 tbsp olive oil, for browning
- 1 tbsp butter
- 1 small onion, diced
- 3 cloves garlic, minced
- 1 (28 oz) can crushed tomatoes
- 1 (15 oz) can tomato sauce
- 1/4 cup fresh basil, chopped
- 1 tsp sugar (optional)
- Salt and pepper to taste
Instructions
- In a large bowl, combine breadcrumbs and milk. Let sit 5 minutes.
- Add ground beef, pork, egg, Parmesan, parsley, garlic, oregano, salt, and pepper. Mix gently with hands until just combined—do not overmix.
- Roll into 1.5-inch balls (about 24).
- In a large skillet, heat olive oil over medium-high heat. Brown meatballs in batches (don’t crowd), about 2–3 minutes per side. Transfer to a plate.
- Melt butter in same skillet. Add onion and sauté 3 minutes. Add garlic, cook 30 seconds.
- Stir in crushed tomatoes, tomato sauce, and sugar (if using). Bring to a simmer.
- Return meatballs and any juices to the skillet. Cover and simmer 25–30 minutes, stirring occasionally.
- Stir in fresh basil. Adjust seasoning. Serve warm over pasta, with crusty bread, or on sub rolls.
Notes
- For extra tenderness, add a splash of heavy cream or grated zucchini (squeezed dry) to the meat mixture.
- Browning in batches ensures a better crust and richer flavor.
- Freeze uncooked meatballs on a tray, then transfer to a bag for up to 3 months. Cook from frozen—add 5–7 minutes to simmer time.
- Prep Time: 20 minutes
- Cook Time: 35 minutes
- Method: Simmering & Pan-frying
- Cuisine: Italian
- Diet: None specified
Nutrition
- Serving Size: 4 meatballs + 1/2 cup sauce
- Calories: 320 Kcal
- Sugar: 6g
- Sodium: 610mg
- Fat: 21g
- Saturated Fat: 8g
- Unsaturated Fat: 11g
- Trans Fat: 0.5g
- Carbohydrates: 14g
- Fiber: 2g
- Protein: 21g
- Cholesterol: 75mg

