Juicy Meatballs in Tomato Sauce

As seen in: Delicious Dinners, Fewer Dishes

These tender, juicy meatballs combine ground beef (or a beef-pork mix) with aromatics and herbs, gently formed and seared to perfection. The meatballs simmer in a simple yet vibrant tomato sauce infused with fresh basil. The entire dish comes together in about 45 minutes, making it ideal for both weeknight dinners and special occasions.

Serve these meatballs over your favorite pasta, with polenta, or alongside crusty bread to soak up the flavorful sauce. The recipe is adaptable for gluten-free diets and can be made ahead and frozen for convenient meal planning.

A woman wearing an apron and smiling.
Created By Clara
Last modified on Fri, 02 May 2025 07:52:13 GMT
A spoon is being used to scoop a meatball out of a bowl. Save This
A spoon is being used to scoop a meatball out of a bowl. | zetluna.com

This comforting meatball recipe has been my secret weapon for dinner parties and family meals for years. The perfectly tender meatballs paired with a bright, simple tomato sauce create a dish that feels both special and familiar at the same time.

I first made these meatballs during a particularly chaotic Sunday dinner when I had unexpected guests. Everyone asked for the recipe before they left, and it has become my most requested dish since then.

Ingredients

For the Meatballs

  • Ground beef or beef pork mix: The combination creates the perfect texture and flavor balance. Look for meat with about 15 percent fat for juicy results.
  • Breadcrumbs: They bind the mixture together. Fresh breadcrumbs work best but panko makes a great substitute.
  • Egg: Provides structure and helps hold everything together.
  • Minced garlic: Fresh is absolutely essential here for the best flavor.
  • Grated Parmesan: Adds saltiness and depth. Use the real stuff, not the shelf stable kind.
  • Milk: Keeps the meatballs incredibly tender and prevents dryness.
  • Fresh parsley: Brightens the flavor profile. Italian flat leaf parsley works best here.
  • Dried oregano: Adds that classic Italian flavor note. Crush it between your fingers before adding to release more flavor.
  • Salt and pepper: Season generously for the best results.
  • Olive oil: For searing to create that delicious crust.

For the Tomato Basil Sauce

  • Olive oil: Use a good quality one since this forms the flavor base.
  • Finely chopped onion: Sweet yellow onions work beautifully here.
  • Minced garlic: Again fresh is key for building layers of flavor.
  • Crushed tomatoes: San Marzano variety if you can find them for their sweet flavor.
  • Sugar: Balances the acidity of the tomatoes. Taste and adjust as needed.
  • Salt and pepper: Season to taste throughout cooking.
  • Fresh basil: The crown jewel that makes this sauce special. Fresh makes a world of difference.

Step-by-Step Instructions

Prepare the Meatball Mixture:
Combine all meatball ingredients except the olive oil in a large bowl. Mix with your hands just until everything comes together. The key is not to overwork the meat which can make tough meatballs. The mixture should feel cohesive but still light. Form into evenly sized balls about 1.5 inches in diameter for even cooking.
Sear the Meatballs:
Heat olive oil in a large skillet until it shimmers but does not smoke. Add meatballs carefully, leaving space between each one. Brown them on all sides, turning gently with tongs. You want a beautiful golden crust which takes about 2 minutes per side. Do not worry about cooking them through completely at this stage as they will finish in the sauce.
Start the Sauce Base:
In the same pan, add more olive oil then add your onions. Cook them slowly until they become translucent and soft. This takes patience, about 4 to 5 minutes over medium heat. Add the garlic last and cook briefly until fragrant. The fond from the meatballs adds incredible depth to your sauce.
Build the Sauce:
Pour in your crushed tomatoes, ensuring you scrape up all the browned bits from the bottom of the pan. These bits contain concentrated flavor. Add sugar to balance acidity then season with salt and pepper. Bring everything to a gentle simmer, adjusting heat as needed.
Cook Meatballs in Sauce:
Return the meatballs to the pan, nestling them into the sauce. Cover partially to allow some steam to escape while trapping enough heat to cook everything through. Simmer gently for about 20 minutes, occasionally spooning sauce over the meatballs. They should reach an internal temperature of 165°F when fully cooked.
Finish with Fresh Herbs:
In the last 5 minutes of cooking, stir in the fresh basil. This timing preserves the bright flavor and beautiful color of the herbs. If using dried basil instead, add it earlier with the tomatoes to allow it time to rehydrate and release flavor.
A bowl of meatballs in a tomato sauce. Save This
A bowl of meatballs in a tomato sauce. | zetluna.com

My grandmother always insisted on adding a splash of milk to her meatball mixture. I questioned this practice until I tried making them without it once. The difference was remarkable the milk helps break down the proteins in the meat creating an incredibly tender texture that simply melts in your mouth.

Make Ahead and Storage

These meatballs actually improve in flavor after a day in the refrigerator, making them perfect for meal prep. Store them in an airtight container with the sauce for up to 3 days. The sauce prevents them from drying out and continues to infuse them with flavor.

For longer storage, freeze the cooked meatballs and sauce in portion sized containers for up to 3 months. Thaw overnight in the refrigerator and gently reheat on the stovetop over medium low heat, adding a splash of water if the sauce has thickened too much.

You can also freeze raw formed meatballs on a baking sheet, then transfer to a freezer bag once solid. This allows you to cook only what you need without thawing the entire batch.

Serving Suggestions

While pasta is the classic pairing, these meatballs are wonderfully versatile. Try them with creamy polenta for a comforting twist, or stuff them into crusty Italian bread with melted provolone for incredible meatball subs.

For a lighter option, serve them over roasted spaghetti squash or zucchini noodles. The robust sauce works beautifully with these vegetable alternatives.

At parties, serve smaller versions with toothpicks as appetizers alongside a small bowl of extra sauce for dipping. They disappear quickly, so make extra!

Customization Options

This recipe serves as an excellent base that welcomes your personal touch. Try adding finely chopped spinach or grated zucchini to the meatball mixture for added nutrition. Red pepper flakes or a splash of red wine in the sauce creates deeper, more complex flavors.

For those avoiding gluten, substitute almond flour or crushed pork rinds for the breadcrumbs. If dairy is an issue, nutritional yeast provides a cheesy flavor without the dairy, and unsweetened plant milk works well in place of regular milk.

A plate of meatballs in a red sauce. Save This
A plate of meatballs in a red sauce. | zetluna.com

Common Questions

→ Can I make these meatballs ahead of time?

Yes! These meatballs freeze exceptionally well. You can freeze them either raw (before cooking) or fully cooked in the sauce. If freezing raw, arrange them on a baking sheet until solid, then transfer to a freezer bag. If freezing cooked, cool completely before storing in airtight containers for up to 3 months.

→ How do I know when the meatballs are fully cooked?

Properly cooked meatballs should reach an internal temperature of 160°F (71°C). If you don't have a meat thermometer, cut one open—it should be completely brown throughout with no pink remaining. The simmering time of 20-25 minutes in the sauce should ensure they're fully cooked if shaped as directed.

→ Can I use turkey or chicken instead of beef?

Absolutely! Ground turkey or chicken makes a lighter alternative to beef. Since these leaner meats can dry out more easily, consider adding an extra tablespoon of milk to the mixture and be careful not to overcook them. The internal temperature for poultry meatballs should reach 165°F (74°C).

→ What's the secret to tender, juicy meatballs?

The key to tender meatballs is handling the meat mixture gently and not overworking it. Mix just until ingredients are combined, use slightly damp hands when forming the balls, and don't pack them too tightly. The milk and breadcrumbs also help keep the meatballs moist and tender.

→ What can I serve with these meatballs besides pasta?

While pasta is a classic pairing, these meatballs are versatile! Try them over creamy polenta or mashed potatoes, stuffed into sandwich rolls for meatball subs, with zucchini noodles for a lower-carb option, or simply with a side of roasted vegetables and crusty bread to soak up the delicious sauce.

→ How can I make this dish dairy-free?

To make dairy-free meatballs, substitute the Parmesan cheese with nutritional yeast or dairy-free Parmesan alternative. Replace the milk with unsweetened plant-based milk (almond or oat work well). These substitutions will maintain the flavor profile while accommodating dietary restrictions.

Meatballs in Tomato Basil Sauce

Juicy meatballs simmered in a bright tomato basil sauce — a comforting classic perfect over pasta or with crusty bread.

Preparation Time
15 Time in Minutes
Cooking Duration
30 Time in Minutes
Overall Time
45 Time in Minutes
Created By: Clara


Skill Level: Moderate

Style: Italian

Output: 4 Serves

Diet Preferences: No Gluten

What You Need

→ For the Meatballs

01 1 lb (450 g) ground beef or a mix of beef and pork
02 ½ cup breadcrumbs (or gluten-free crumbs)
03 1 egg
04 2 cloves garlic, minced
05 ¼ cup grated Parmesan cheese
06 2 tablespoons milk
07 2 tablespoons chopped fresh parsley
08 ½ teaspoon dried oregano
09 Salt and pepper, to taste
10 1 tablespoon olive oil (for searing)

→ For the Tomato Basil Sauce

11 2 tablespoons olive oil
12 1 small onion, finely chopped
13 2 cloves garlic, minced
14 1 (28 oz / 800 g) can crushed tomatoes
15 1 teaspoon sugar
16 Salt and pepper, to taste
17 ½ cup chopped fresh basil (or 1 teaspoon dried basil)

Steps to Follow

Step 01

In a large bowl, combine all meatball ingredients (except olive oil). Mix gently with hands until just combined — don’t overwork. Form into 12–16 evenly sized balls.

Step 02

Heat 1 tablespoon olive oil in a large skillet or saucepan over medium heat. Sear meatballs in batches until browned on all sides (about 6–8 minutes total). Remove and set aside.

Step 03

In the same pan, heat 2 tablespoons olive oil. Add onion and cook for 4–5 minutes until soft. Stir in garlic and sauté for 30 seconds.

Step 04

Pour in crushed tomatoes, add sugar, and season with salt and pepper. Bring to a simmer.

Step 05

Gently return meatballs to the pan, cover partially, and simmer on low heat for 20–25 minutes, turning occasionally, until meatballs are cooked through and the sauce has thickened.

Step 06

Stir in fresh basil during the last 5 minutes of cooking.

Step 07

Serve hot over pasta, rice, or with crusty bread.

Additional Notes

  1. Substitute beef with ground turkey or chicken for a lighter option.
  2. Add a splash of red wine or chili flakes to the sauce for extra depth.
  3. Make ahead: meatballs freeze well raw or cooked.

Essential Tools

  • Mixing bowl
  • Large skillet or saucepan
  • Wooden spoon or spatula
  • Tongs

Allergen Information

Check each ingredient for allergens, and don’t forget to consult your doctor if you’re unsure.
  • Contains dairy (Parmesan, milk)
  • Contains gluten (breadcrumbs)
  • Use gluten-free breadcrumbs and dairy-free cheese to adapt.

Nutritional Details (Per Serving)

Nutritional facts should only be used as a general guide, not as medical advice.
  • Caloric Content: 490
  • Fats: 28 grams
  • Carbohydrates: 20 grams
  • Proteins: 36 grams