| |

Italian Spaghetti with Meatballs

Homemade Italian Spaghetti with Meatballs photo

There’s comfort food, and then there’s a steaming plate of Italian Spaghetti with Meatballs that hugs you from the inside out. This version is grounded in simple pantry ingredients and fresh herbs, leaning into bright lemon zest and a handful of basil to keep the sauce lively. It’s the kind of weeknight dinner that doubles as weekend-worthy company food — rustic, straightforward, and impossibly satisfying.

Why this recipe works

Classic Italian Spaghetti with Meatballs image

What makes this rendition special is the balance: lean ground beef keeps the meatballs tender without excess fat, while a soaked slice of ciabatta and a splash of milk create a soft, moist interior. Parmesan and fresh herbs add savory depth, and the tomato sauce is intentionally uncomplicated — just chopped peeled tomatoes, garlic, basil, and a bay leaf simmered until fragrant. By keeping the elements honest and the steps clear, you get meatballs that hold together and a sauce that sings.

Ingredients

  • 12 oz spaghetti
  • 1 lb. ground lean beef
  • 1 slice ciabatta bread
  • Milk (enough to soak the bread)
  • ½ cup Parmesan cheese
  • 1 small minced white onion
  • 1 tablespoon fresh thyme leaves
  • 1 egg
  • 2 tablespoon finely chopped basil
  • 1 ½ teaspoon lemon zest
  • 2 teaspoons salt
  • 1 teaspoon black pepper
  • 2 tablespoon Extra virgin Olive Oil (for browning meatballs)
  • 2 cans peeled tomatoes, chopped, seeds and juice discarded
  • a bunch of basil leaves
  • 1 bay leave
  • 1 garlic clove, gently crushed
  • 2 tbp extra virgin olive oil (for sauce)

Equipment you’ll need

  • Large pot for boiling pasta
  • Large skillet or sauté pan
  • Mixing bowl
  • Wooden spoon or spatula
  • Strainer or slotted spoon
  • Microplane or zester

Prep at a glance

Easy Italian Spaghetti with Meatballs recipe photo

Before you start cooking, measure ingredients, mince the onion, crush the garlic clove gently, finely chop basil for the meatballs, zest the lemon, and tear a handful of basil leaves for the sauce. Tear the ciabatta into small pieces and soak in just enough milk to soften it.

Meatball mixture — step-by-step

Delicious Italian Spaghetti with Meatballs dish photo

  1. Place 1 slice ciabatta bread in a small bowl and pour enough milk over it to fully soak the bread. Let it sit until soft, about 5 minutes. Squeeze out excess milk gently and tear or mash the bread into a soft paste.
  2. In a large mixing bowl, add 1 lb. ground lean beef, the softened ciabatta, ½ cup Parmesan cheese, 1 small minced white onion, 1 tablespoon fresh thyme leaves, 1 egg, 2 tablespoon finely chopped basil, 1 ½ teaspoon lemon zest, 2 teaspoons salt, and 1 teaspoon black pepper.
  3. Using clean hands or a spoon, mix the ingredients until evenly combined but do not overwork the meat — stop when everything is uniformly incorporated to keep meatballs tender.
  4. Scoop the mixture and form into meatballs about 1 1/4 inches in diameter (you should end up with approximately 16–20 meatballs depending on exact size). Arrange the formed meatballs on a plate or tray while you heat the pan.

Browning the meatballs

  1. Heat 2 tablespoon Extra virgin Olive Oil in a large skillet over medium heat until shimmering.
  2. Add the meatballs in a single layer without crowding. Brown them on all sides, turning gently with tongs or a spatula so they develop a golden crust. This should take about 6–8 minutes total. They do not need to be fully cooked through — they will finish cooking in the sauce.
  3. Once browned, transfer the meatballs to a plate and set aside. Keep skillet juices in the pan; they’ll add flavor to the sauce.

The tomato sauce — step-by-step

  1. In the same skillet, reduce heat to medium-low and add 2 tbp extra virgin olive oil for the sauce. Add the gently crushed 1 garlic clove and sauté briefly, about 30–45 seconds, until fragrant but not browned.
  2. Add the 2 cans peeled tomatoes, chopped (with seeds and juice discarded) to the pan. Stir to combine with the garlic and pan drippings.
  3. Add a bunch of basil leaves (torn or left whole as you prefer) and 1 bay leave to the tomato mixture.
  4. Bring the sauce to a gentle simmer, then reduce the heat to maintain a low simmer. Let the sauce cook for about 10 minutes to allow the flavors to marry and the raw tomato edge to soften.
  5. Carefully nestle the browned meatballs into the simmering sauce. Spoon sauce over the meatballs so they’re partially submerged. Cover and simmer gently for 12–15 minutes, turning the meatballs once halfway through, until they’re cooked through and the sauce has thickened slightly. Taste and adjust seasoning if needed.

Cooking the spaghetti

  1. While the sauce and meatballs simmer, bring a large pot of salted water to a rolling boil.
  2. Add 12 oz spaghetti and cook according to package directions until al dente, usually 8–10 minutes. Stir occasionally to prevent sticking.
  3. Reserve about ½ cup of the pasta cooking water, then drain the spaghetti in a colander.
  4. Add the drained spaghetti back to the pot or into the skillet with the sauce if your pan is large enough. Toss with some sauce and a splash of reserved pasta water to help the sauce cling to the noodles.

Bringing it together

  1. Transfer the sauced spaghetti to serving bowls or a large serving platter. Arrange the meatballs on top or tuck them into the pasta.
  2. Finish with a sprinkle of the remaining Parmesan cheese and scatter fresh basil leaves over the dish for color and aroma.
  3. If you like, drizzle a little extra virgin olive oil over the top for a glossy finish and a bright flavor lift.

Taste and texture notes

These meatballs should be tender on the inside with a lightly crisped exterior from the pan-sear. The soaked ciabatta and egg hold the meat together while keeping it moist. The sauce is bright from the tomatoes and lemon zest and fragrant from basil and thyme. If you find the sauce too acidic, a pinch of sugar or a small knob of butter will mellow it, but often a short simmer is enough to round out the flavors.

Serving suggestions

  • Serve with a crisp green salad dressed in lemon and olive oil to balance the richness.
  • Toast extra ciabatta slices brushed with olive oil and rub with the garlic clove used for the sauce for a simple, savory accompaniment.
  • Leftovers keep well: store meatballs and sauce in an airtight container in the refrigerator for up to 3 days. Reheat gently on the stove with a splash of water or over low heat.

Make-ahead and swaps

You can prepare the meatball mixture and form the balls up to a day in advance; keep them covered in the refrigerator. If you’d like to make this gluten-free, substitute a gluten-free bread for the ciabatta and use gluten-free spaghetti. For an extra-herby profile, add a tablespoon of finely chopped parsley to the meatball mix. If you want a richer sauce, brown a small diced carrot and celery with the onion before adding the tomatoes.

Recipe timeline (estimated)

  • Prep (mincing, zesting, soaking bread, forming meatballs): 20 minutes
  • Browning meatballs and making sauce: 20 minutes
  • Simmering meatballs in sauce: 12–15 minutes
  • Cooking spaghetti: 8–10 minutes (overlaps with sauce time)
  • Total: about 50 minutes

Final thoughts

This take on Italian Spaghetti with Meatballs is about layered, familiar flavors: citrus brightness, herb fragrance, and the savory comfort of beef and Parmesan. It’s reliably satisfying and unfussy — the kind of recipe you’ll return to when you want something that feels like a warm, loving hug on a plate. Gather the people you love, put the pot of pasta in the center, and let everyone dig in.

Full recipe recap

Ingredients

  • 12 oz spaghetti
  • 1 lb. ground lean beef
  • 1 slice ciabatta bread
  • Milk (to soak the bread)
  • ½ cup Parmesan cheese
  • 1 small minced white onion
  • 1 tablespoon fresh thyme leaves
  • 1 egg
  • 2 tablespoon finely chopped basil
  • 1 ½ teaspoon lemon zest
  • 2 teaspoons salt
  • 1 teaspoon black pepper
  • 2 tablespoon Extra virgin Olive Oil (for browning meatballs)
  • 2 cans peeled tomatoes, chopped, seeds and juice discarded
  • a bunch of basil leaves
  • 1 bay leave
  • 1 garlic clove, gently crushed
  • 2 tbp extra virgin olive oil (for sauce)

Step-by-step Instructions

  1. Soak 1 slice ciabatta in milk until softened. Squeeze out excess milk and mash the bread into a paste.
  2. In a bowl, combine 1 lb. ground lean beef, the soaked ciabatta, ½ cup Parmesan cheese, 1 small minced white onion, 1 tablespoon fresh thyme leaves, 1 egg, 2 tablespoon finely chopped basil, 1 ½ teaspoon lemon zest, 2 teaspoons salt, and 1 teaspoon black pepper. Mix gently until just combined.
  3. Form the mixture into meatballs about 1 1/4 inches in diameter. Set them aside on a plate.
  4. Heat 2 tablespoon Extra virgin Olive Oil in a large skillet over medium heat. Brown the meatballs on all sides, about 6–8 minutes, then remove them to a plate. Keep the pan juices.
  5. Reduce heat to medium-low and add 2 tbp extra virgin olive oil to the skillet. Sauté 1 gently crushed garlic clove for 30–45 seconds until fragrant.
  6. Add 2 cans peeled tomatoes, chopped (seeds and juice discarded), a bunch of basil leaves, and 1 bay leave to the pan. Bring to a gentle simmer and cook for about 10 minutes.
  7. Return the browned meatballs to the simmering sauce. Cover and simmer gently for 12–15 minutes, turning the meatballs once, until cooked through. Adjust seasoning as needed.
  8. Meanwhile, cook 12 oz spaghetti in salted boiling water until al dente. Reserve ½ cup pasta water, then drain.
  9. Toss the drained spaghetti with some sauce and a splash of the reserved pasta water so the sauce coats the noodles. Transfer to plates and top with the meatballs.
  10. Finish with a sprinkle of remaining Parmesan and fresh basil leaves. Drizzle with a little extra virgin olive oil if desired and serve immediately.

Enjoy this classic plate of Italian Spaghetti with Meatballs — it’s reliably cozy, herb-forward, and perfect for any night you crave something that tastes like home.

Homemade Italian Spaghetti with Meatballs photo

Italian Spaghetti with Meatballs

Classic spaghetti with homemade meatballs in a simple tomato-basil sauce.
Prep Time 10 minutes
Cook Time 30 minutes
Total Time 40 minutes
Servings 4 servings

Equipment

  • Large frying pan
  • Saucepan
  • large pot (for pasta)
  • Mixing Bowl
  • Measuring cups and spoons
  • Wooden Spoon
  • Colander

Ingredients
  

  • 12 oz spaghetti
  • 1 lb ground lean beef
  • 1 slice ciabatta bread
  • milk for soaking bread
  • 1/2 cup Parmesan cheese
  • 1 small white onion minced
  • 1 tablespoon fresh thyme leaves
  • 1 large egg
  • 2 tablespoons basil finely chopped
  • 1 1/2 teaspoons lemon zest
  • 2 teaspoons salt
  • 1 teaspoon black pepper
  • 2 tablespoons extra-virgin olive oil for searing meatballs
  • 2 cans peeled tomatoes chopped, seeds and juice discarded
  • basil leaves a bunch, some for sauce
  • 1 leaf bay leaf
  • 1 clove garlic gently crushed
  • 2 tablespoons extra-virgin olive oil for tomato sauce

Instructions
 

  • Cut the ciabatta slice into small cubes, place in a bowl and cover with enough milk to soak; set aside while you prepare other ingredients.
  • In a large mixing bowl combine the ground beef, grated Parmesan, minced onion, thyme, chopped basil, lemon zest, salt, black pepper and the egg.
  • Squeeze the soaked ciabatta to remove most of the milk, then add the bread to the meat mixture and mix until just combined.
  • Portion the mixture into meatballs of about 2 oz (use a scale or tablespoon), shape into rounds and gently flatten slightly.
  • Heat 2 tablespoons extra-virgin olive oil in a large frying pan over high heat until very hot. Add meatballs in a single layer and sear without moving for about 3 minutes to form a crust.
  • Turn the meatballs and sear the other side for about 3 minutes, using pan juices to baste. When both sides are seared, remove from heat; they will finish cooking in the sauce.
  • Make the tomato sauce: heat 2 tablespoons extra-virgin olive oil in a saucepan over medium heat and add the crushed garlic. Cook until golden, then remove and discard the garlic.
  • Reduce heat, add the chopped peeled tomatoes, a couple of basil leaves and the bay leaf. Season with salt, pepper and a pinch of sugar if desired, and simmer gently for 10–15 minutes.
  • About halfway through the sauce's cooking time, add the seared meatballs to the sauce and continue simmering until meatballs are cooked through and flavors meld, about 8 minutes more.
  • Meanwhile, cook the spaghetti in a large pot of lightly salted boiling water for about 8 minutes or until al dente according to package directions.
  • Drain the pasta and add it to the pan with the meatballs and sauce. Toss to combine and heat through.
  • Serve immediately with additional grated Parmesan and fresh basil leaves on top.

Notes

  • Soak the bread briefly — it should be moist but not soggy.
  • Sear meatballs undisturbed to develop a crust and prevent falling apart.
  • Discard the garlic after flavoring the oil to avoid bitter bits in the sauce.
  • Use a pinch of sugar if the tomatoes taste too acidic.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating