🍝 Classic Meatballs in Tomato Sauce
Juicy, tender homemade meatballs simmered in a rich, garlicky tomato sauce. This comforting dish is perfect served over pasta, mashed potatoes, rice, or zucchini noodles for a low-carb option.
Prep Time: 20 minutes
Cook Time: 40 minutes
Total Time: 1 hour
Servings: 6
🛒 Ingredients
For the Meatballs
- 1½ lbs (680 g) lean ground beef (or a mix of beef and pork)
- ½ cup breadcrumbs
- ¼ cup grated Parmesan cheese
- 1 large egg
- 3 garlic cloves, minced
- ¼ cup finely chopped onion
- 2 tablespoons chopped fresh parsley
- 1 teaspoon Italian seasoning
- 1 teaspoon salt
- ½ teaspoon black pepper
- 2 tablespoons milk
- 1 tablespoon olive oil (for browning)
For the Tomato Sauce
- 2 tablespoons olive oil
- 1 small onion, finely diced
- 4 garlic cloves, minced
- 2 cans (14 oz/400 g each) crushed tomatoes
- 2 tablespoons tomato paste
- 1 teaspoon Italian seasoning
- ½ teaspoon dried oregano
- ½ teaspoon sugar (optional, to balance acidity)
- ½ teaspoon salt
- ¼ teaspoon black pepper
- ½ cup beef or chicken broth
- 6–8 fresh basil leaves, chopped (or 1 tablespoon dried basil)
Garnish
- Fresh parsley or basil
- Grated Parmesan cheese
👩🍳 Instructions
1. Make the Meatballs
- In a large bowl, combine the ground beef, breadcrumbs, Parmesan, egg, garlic, onion, parsley, Italian seasoning, salt, pepper, and milk.
- Mix gently until just combined.
- Roll into 18–20 meatballs (about 1½ inches each).
2. Brown the Meatballs
- Heat 1 tablespoon olive oil in a large skillet over medium-high heat.
- Brown the meatballs for 2–3 minutes per side. They don’t need to be fully cooked yet.
- Transfer to a plate.
3. Prepare the Tomato Sauce
- In the same skillet, heat 2 tablespoons olive oil.
- Sauté the onion for 4–5 minutes until softened.
- Add the garlic and cook for 30 seconds.
- Stir in the tomato paste and cook for 1 minute.
- Add the crushed tomatoes, broth, Italian seasoning, oregano, sugar (if using), salt, pepper, and basil.
- Bring to a gentle simmer.
4. Simmer
- Return the meatballs to the sauce.
- Cover and simmer over low heat for 25–30 minutes, stirring occasionally, until the meatballs are cooked through and reach an internal temperature of 160°F (71°C).
5. Serve
Garnish with fresh parsley or basil and a generous sprinkle of Parmesan cheese.
🍽️ Serving Suggestions
Serve with:
- Spaghetti or fettuccine
- Creamy mashed potatoes
- Steamed rice
- Garlic bread
- Polenta
- Zucchini noodles or spaghetti squash (low-carb)
- A crisp green salad
🥣 Approximate Nutrition (Per Serving)
- Calories: 420
- Protein: 31 g
- Fat: 26 g
- Carbohydrates: 13 g
- Fiber: 3 g
- Sugar: 6 g
💡 Tips
- Avoid overmixing the meat mixture to keep the meatballs tender.
- A blend of beef and pork creates especially juicy, flavorful meatballs.
- Let the sauce simmer gently rather than boil to keep the meatballs moist.
- The flavor improves after a day in the refrigerator, making this an excellent meal-prep recipe.
- Freeze cooked meatballs in the sauce for up to 3 months. Thaw overnight in the refrigerator and reheat gently on the stovetop.