clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Quick, easy homemade Italian meatballs are juicy, flavourful, and delicious, simmered in a rich and savoury tomato sauce. Make them in just 30 minutes. |

Italian Meatballs

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

4.6 from 9 reviews

  • Author: Sam Hu | Ahead of Thyme
  • Total Time: 35 minutes
  • Yield: 25 meatballs


Quick, easy homemade Italian meatballs are juicy, flavourful, and delicious, simmered in a rich and savoury tomato sauce. Make them in just 30 minutes.


For the meatballs:

  • 1.5 lb. ground beef
  • 3/4 cup breadcrumbs
  • 1/4 cup milk
  • 1 large egg
  • 1 tablespoon garlicfinely chopped
  • 1/2 cup fresh parsley, finely chopped
  • 1/4 cup Parmesan cheese, freshly grated
  • 1 teaspoon Italian seasoning
  • 1 teaspoon salt
  • 1/2 teaspoon ground black pepper
  • 2 tablespoons olive oil 

For the tomato sauce:

  • 1/2 cup onion, finely chopped
  • 1 tablespoon garlic, minced
  • 1 (15 oz.) can crushed tomatoes (2 cups)
  • 1/4 cup tomato paste
  • 3-4 bay leaves
  • 1/2 teaspoon salt (or to taste)
  • 1/2 teaspoon ground black pepper (or to taste)


  1. In a large mixing bowl, combine beef with breadcrumbs, milk, egg, garlic, parsley, Parmesan, Italian seasoning, salt and pepper. Mix well and form the mixture into a uniform consistency.
  2. Take 2 spoonfuls of the beef mixture at a time and roll them into meatballs. Set aside.
  3. Heat olive oil in a large skillet or shallow saucepan over medium-high heat for 2 minutes until the hot oil sizzles. Slowly add the meatballs and gently stir to cook until browned on all sides, about 6 to 8 minutes. Make sure to stir gently to prevent meatballs from disintegrating. Transfer the meatballs to a plate and set aside (Note that the meatballs are not fully cooked at this point). 
  4. In the same skillet, add onion and garlic and sauté until fragrant, about 1 minute. Stir in crushed tomatoes, tomato paste and bay leaves, and season with salt and pepper.
  5. Return the meatballs to the skillet and bring the sauce mixture to a simmer over medium heat, stirring occasionally. Cover the lid and let it simmer for 8-10 minutes until the meatballs are fully cooked.
  6. Sprinkle with extra Parmesan if desired and serve immediately over pasta, rice, or mashed potatoes.


Substitutions: There are plenty of ways to customize these family-favourite meatballs to change things up every once in a while. You can experiment with different flavours, but always be sure to include binding ingredients such as eggs, breadcrumbs, cheese, or milk.

How to store: If you have any leftover Italian meatballs in tomato sauce, store them in an airtight container for up to 3-4 days in the refrigerator. Be sure to allow the meatballs to cool to room temperate before storing them in the refrigerator.

How to freeze: Meatballs freeze beautifully (both cooked and uncooked).

  • To freeze uncooked meatballs: Place the shaped meatballs on a large half sheet baking pan lined with parchment paper. Transfer the pan to the freezer and freeze until hard, about 1 hour. Then, transfer the meatballs into a freezer bag or freezer-safe airtight container and store in the freezer for up to 3 months. To cook, allow the meatballs to thaw overnight in the refrigerator first, then cook as per recipe instructions on the stove.
  • To freeze cooked Italian meatballs: Once they have cooled, store the meatballs and sauce in an airtight container or freezer bag (leaving room for expansion) for up to 3 months.

How to Reheat: Reheat in a shallow saucepan on the stove over medium-low heat until warmed through. You may need to add a little water if the sauce thickened up too much in the refrigerator. Alternatively, you can reheat the meatballs in a microwave-safe bowl in the microwave in 20-second increments. Be sure to cover the bowl to avoid tomato sauce splatter.

  • Prep Time: 15 minutes
  • Cook Time: 20 minutes
  • Category: Beef
  • Method: Stovetop
  • Cuisine: Italian