Go Back
Quick Weeknight Spaghetti with Homemade Beef Meatballs

Spaghetti with Homemade Beef Meatballs

Classic spaghetti and beef meatballs in a rich tomato sauce, made from scratch with juicy meatballs and a silky finish.
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 for juicy meatballs
  • 75 g fresh breadcrumbs about two thick slices of bread, whizzed in a blender
  • 1 large egg lightly beaten
  • 3 cloves garlic minced (two for the meatballs, one for the sauce)
  • 40 g finely grated Parmesan cheese plus extra for serving
  • 1 tablespoon tomato paste
  • 1 teaspoon dried oregano
  • ½ teaspoon fine sea salt
  • ½ teaspoon black pepper
  • 2 tablespoons olive oil
  • 1 medium onion finely diced
  • 800 g tinned chopped tomatoes San Marzano, if you can find them
  • 400 g dried spaghetti
  • Small handful fresh basil leaves torn (optional, for garnish)
  • 2 tablespoons unsalted butter optional, for a silky finish to the sauce

Method
 

  1. Get the pasta water on first. Fill your largest pot with water, add a generous pinch of salt, and set it over high heat. You want it at a rolling boil by the time the meatballs are ready. When you see big bubbles breaking the surface aggressively, that's your cue—drop the spaghetti in and cook according to package directions until al dente, usually about 9–11 minutes.
  2. Mix the meatball base. In a large bowl, combine the beef mince, breadcrumbs, beaten egg, two-thirds of the minced garlic, grated Parmesan, tomato paste, oregano, salt, and pepper. Use your hands to mix gently—stop as soon as everything is combined. Overworking the mix makes the meatballs dense. The texture should feel soft and slightly tacky, but not wet or sticky.
  3. Roll the meatballs. Dampen your hands slightly with cold water to stop the mix sticking. Roll the mixture into walnut-sized balls, about 2.5cm in diameter. You should get roughly 20–24 meatballs. Place them on a plate or tray as you go—they should hold their shape nicely without cracking. If they feel too loose, pop the bowl in the fridge for ten minutes.
  4. Sear the meatballs. Heat the olive oil in a large frying pan over medium-high heat. When the oil shimmers and a test meatball sizzles on contact, add the meatballs in a single layer—don't crowd them; cook in two batches if necessary. Let them brown undisturbed for 3–4 minutes. You want a deep golden-brown crust on the underside. Turn them carefully with tongs and brown the other side for another 3 minutes. The kitchen will smell rich and savoury, and the meatballs should feel firm but still give slightly when pressed.
  5. Build the sauce. Remove the meatballs to a plate. Lower the heat to medium, add the diced onion to the same pan, and cook for 3–4 minutes, scraping up any brown bits from the bottom. The onion should turn translucent and smell sweet, not burnt. Add the remaining garlic and cook for 30 seconds until fragrant—you'll smell it immediately. Pour in the tinned tomatoes, stir, and bring the sauce to a gentle simmer. The colour will shift from bright red to a deeper, richer crimson.
  6. Finish the meatballs in the sauce. Return the seared meatballs to the pan, nestling them into the sauce. Cover the pan partially with a lid, reduce the heat to low, and let everything simmer for 12–15 minutes. The sauce should bubble lazily, not furiously. Stir once halfway through. The meatballs will absorb some sauce and become wonderfully tender—when you cut one open, the inside should be cooked through and juicy, not grey or dry.
  7. Bring it all together. Drain the spaghetti (reserve about 100ml of pasta water) and add the pasta directly to the pan with the sauce and meatballs. Toss everything gently with tongs for a minute, adding a splash of pasta water if the sauce looks too thick. The sauce should coat each strand of spaghetti lightly, not pool at the bottom. Stir in the butter if you're using it—it melts into the sauce and gives a glossy, velvety finish. Serve immediately, topped with fresh basil and extra Parmesan.

Notes

For the most tender meatballs, avoid overmixing the meatball base. If the mixture feels too loose, refrigerate for 10 minutes before rolling. San Marzano tomatoes are recommended for the sauce. The optional butter adds a glossy, velvety finish.