Go Back
Weekend Comfort Project: Spaghetti with Homemade Beef Meatballs

Spaghetti with Homemade Beef Meatballs

Tender homemade beef meatballs simmered in a rich tomato sauce, served over al dente spaghetti and finished with fresh basil and Parmesan.
Prep Time 15 minutes
Cook Time 30 minutes
Total Time 45 minutes
Servings: 4 servings
Course: Main Course
Cuisine: American
Calories: 350

Ingredients
  

  • 500 g beef mince 15-20% fat works best
  • 100 g fresh breadcrumbs from a day-old loaf, blitzed
  • 1 large egg lightly beaten
  • 3 cloves garlic minced
  • 60 g Parmesan cheese finely grated, plus extra for serving
  • 2 tablespoons fresh parsley chopped
  • 1 teaspoon dried oregano
  • 1 teaspoon fine sea salt
  • ½ teaspoon black pepper
  • 3 tablespoons olive oil for frying
  • 1 medium onion finely diced
  • 800 g tinned chopped tomatoes good quality
  • 1 teaspoon sugar to balance acidity
  • 400 g spaghetti dried
  • Fresh basil leaves to garnish

Method
 

  1. Make the meatball mixture. In a large bowl, combine the beef mince, breadcrumbs, beaten egg, half the minced garlic, the grated Parmesan, parsley, oregano, salt, and pepper. Use your hands to gently mix everything together — you want it just combined, not overworked. The mixture should feel soft and slightly sticky against your palms, and it will smell wonderfully of garlic and herbs.
  2. Roll the meatballs. With slightly damp hands (this stops the mix from clinging), roll walnut-sized balls — about 30-35g each. You should get roughly 18-20 meatballs. Place them on a tray or plate, and you’ll notice they hold their shape without cracking. Let them rest for 10 minutes at room temperature; this allows the breadcrumbs to absorb moisture and keeps them tender.
  3. Brown the meatballs. Heat the olive oil in a large frying pan over a medium-high flame. When the oil shimmers and a faint haze rises, carefully add the meatballs in a single layer — don’t crowd the pan; work in two batches if needed. Let them cook undisturbed for 3-4 minutes until the underside turns a deep, crusty brown and you hear a steady, gentle sizzle. Turn them with tongs and brown the other side for another 3 minutes. The smell of seared beef and caramelised edges will fill the kitchen. Transfer the meatballs to a plate — they won’t be cooked through yet, and that’s fine.
  4. Start the sauce. In the same pan (with all those lovely browned bits stuck to the bottom), reduce the heat to medium. Add the diced onion and cook, stirring often, for 5-6 minutes until it turns translucent and softens, releasing a sweet, mellow aroma. Add the remaining minced garlic and cook for 30 seconds until fragrant but not coloured — you’ll smell it bloom immediately.
  5. Build the tomato sauce. Pour in the tinned chopped tomatoes, and stir to lift all those caramelised bits from the pan — that’s pure flavour. Add the sugar, then bring the sauce to a gentle simmer. You’ll see the colour brighten from deep red to a rich, glossy crimson, and the surface will bubble softly. Let it simmer uncovered for 10 minutes, stirring occasionally, until it thickens slightly and the smell turns sweet and savoury.
  6. Finish the meatballs in the sauce. Gently nestle the browned meatballs into the simmering sauce. Cover the pan, reduce the heat to low, and let them cook together for 20 minutes. The meatballs will absorb the sauce’s flavour while releasing their own juices into it. When done, the meatballs should feel firm but yield to a gentle press, and the sauce will have darkened to a rich mahogany red.
  7. Cook the spaghetti. While the meatballs simmer, bring a large pot of generously salted water to a rolling boil — it should taste like the sea. Add the spaghetti and cook according to package directions until al dente (typically 8-10 minutes). Stir once after 30 seconds to prevent sticking. The pasta should be tender but still offer a slight resistance when bitten. Reserve about 250ml of the starchy pasta water before draining.
  8. Bring it all together. Drain the spaghetti (don’t rinse it — you want the starch) and return it to the pot. Ladle in about half the sauce and a splash of reserved pasta water, then toss vigorously with tongs until every strand is coated in a silky, clinging sauce. The pasta water helps the sauce adhere rather than pooling at the bottom. Divide the spaghetti among warm bowls, top with several meatballs and extra sauce, then scatter with fresh basil and a generous grating of Parmesan.

Notes

Use 15-20% fat beef mince for the juiciest meatballs. Damp hands help prevent the mixture from sticking when rolling. Reserve pasta water to help the sauce cling to the spaghetti.