Welcome to your new favorite start-to-finish 30-minute meal. Crisped in a skillet for optimal texture and simmered in a sea of San Marzano tomatoes, these stovetop 30-minute meatballs are the answer to the chorus of “What’s for dinner?” that always seems to crop up right around 5:30 pm. Make a double batch and freeze half for an upcoming chilly February weeknight. These meatballs reheat incredibly well, and future-you will be so relieved that current-you thought ahead.

30-minute meatballs are a classic recipe to have in your dinner repertoire. They dress up really easily for a crowd when served with a plentiful platter of grilled crusty bread or are great as-is for a true weeknight “throw it together” situation. And, best of all, they’re quite approachable for even the smallest of food critics (broil some mozzarella on top for a pizza-ish meatball situation to really make the crowd go wild).

Let’s talk about ingredients.

  • Panko – Panko most closely mimics freshly-made breadcrumbs and is a huge contributor to the surprising lightness found in these meatballs. Feel free to use traditional breadcrumbs, but you’ll likely end up with a meatball that’s a bit more dense.
  • Whole Milk – Any kind of milk will do but whole milk is great for an extra touch of richness. More fat = more flavor + juiciness.
  • Parmesan – Freshly grated is ideal because it’s much lighter and has a truer flavor than the pre-grated/ canned variety. 1 ounce grated is about 1/2 cup.
  • Ground Beef – 80/20 ground beef means the mixture of ground beef is 80% lean meat, 20% fat. 80/20 ground beef is fairly common and is often marketed as being “great for burgers” (we agree). 90/10 beef is a bit too lean and will yield a tougher meatball.
  • San Marzano Tomatoes – San Marzano tomatoes are a specific variety of plum tomatoes originally grown only in a specific region in Italy but are now widely grown in the US as well. We love using San Marzano tomatoes here for their low amount of seeds, sweetness, and less-acidic flavor profile, which means a brief 15-minute simmer time is all that’s needed for a great marinara, but any canned tomato you like to use works here.

What to Serve with 30-Minute Meatballs

These meatballs are certainly the star of the weeknight dinner show and don’t need much to make a well-rounded meal. Keep things simple with a good side salad (this one is a current favorite) and serve the meatballs alongside a thick slice of toasted crusty bread or focaccia with one more quick shower of parm for good measure.

30-Minute Meatballs

Brooke Eliason
Servings: 4 servings
Total Time: 30 minutes
Difficulty: Easy
Crisped in a skillet and simmered in a simple tomato sauce, these 30-minute meatballs are your new favorite weeknight meal.


  • 2 eggs, whisked
  • 1 cup panko
  • ½ cup whole milk
  • 2 teaspoons kosher salt, divided
  • 1 teaspoon garlic powder
  • 1 oz. finely grated parm, plus more for garnish
  • ½ lb. 80/20 ground beef
  • ½ lb. ground pork
  • 1 Tablespoon extra virgin olive oil
  • 1 Tablespoon butter
  • 32 oz. San Marzano tomatoes, crushed*
  • parsley or basil for garnish


  • Place the eggs, panko, milk, 1 teaspoon of salt, garlic powder, parm, beef, and pork in a large bowl. Using your hands (with gloves) or a wooden spoon, combine all of the ingredients until they evenly distributed- do not overmix.
  • Roll the meat mixture into golf ball-sized meatballs. Heat a skillet to medium-high heat and add the butter and olive oil. Once butter is melted, swish the butter and olive oil around until combined and place the meatballs in the skillet, cooking them for about 2-3 minutes per side, until they’re a deep golden brown. If the skillet is running too hot, reduce the heat to medium.
  • Pour the crushed San Marzano tomatoes on top of the meatballs, add the remaining teaspoon of kosher salt and cook at a low simmer for 15 minutes, gently stirring the meatballs occasionally. After meatballs have been cooking for 10-15 minutes, taste the tomato sauce, and add a pinch or two more of salt if needed. Remove from heat.
  • Top meatballs with generous amount of parmigiano reggiano and a sprinkle of parsley or basil. Serve with toasted sourdough bread, potatoes, rice, etc.


*If your San Marzano tomatoes are not crushed when you purchase them (they often come as whole, peeled tomatoes), place them in a blender or food processor and pulse for just a few seconds. They don’t have to be completely pureed and it’s more than okay if there are some small pieces of tomato visible.

Did you make this recipe?

Tag @femalefoodie so we can see what you’re cooking!