Skip to content
Afoodrink logo

Classic Meatballs in Tomato Sauce

Tender, savory meatballs simmered in a simple tomato sauce make a cozy dinner with pasta, polenta, or crusty bread. This version uses a quick panade, which is a bread-and-milk mixture that helps keep the meatballs soft.

Total

60 min

Servings

4 to 6 servings, about 18 meatballs

Level

Easy

Meatballs are one of those dinners that feel special without asking too much from the cook. A few pantry ingredients, ground meat, and a gentle simmer turn into a meal that works for a weeknight or a Sunday table.

The key to tender meatballs is not packing the mixture too tightly. Soak breadcrumbs in milk first, mix just until combined, and roll with a light hand.

This recipe browns the meatballs for flavor, then finishes them in tomato sauce. Serve them with spaghetti, tuck them into rolls, or spoon them over mashed potatoes.

01What you'll need

Ingredients

18 items · 4 to 6 servings, about 18 meatballs

  • 1/2 cup plain breadcrumbs
  • 1/3 cup whole milk
  • 1 large egg
  • 1/2 cup finely grated Parmesan cheese, plus more for serving
  • 2 tablespoons finely chopped fresh parsley, or 2 teaspoons dried parsley
  • 2 garlic cloves, finely grated or minced
  • 1 teaspoon kosher salt, plus more to taste
  • 1/2 teaspoon dried oregano
  • 1/4 teaspoon black pepper
  • 1 pound ground beef, preferably 80% to 85% lean
  • 1/2 pound ground pork
  • 2 tablespoons olive oil
  • 1 small yellow onion, finely chopped
  • 1 can (28 ounces) crushed tomatoes
  • 1/2 cup water or low-sodium broth
  • 1 teaspoon sugar, optional, if the sauce tastes sharp
  • Fresh basil or parsley, for serving, optional
  • Cooked spaghetti, rolls, polenta, or crusty bread, for serving

02How to make it

Step-by-step

  1. 1. Soak the breadcrumbs

    Put the breadcrumbs and milk in a large bowl. Stir and let them sit for 5 minutes, until the crumbs look soft and pasty. This mixture is called a panade, and it helps the meatballs stay moist.

  2. 2. Season the mixture

    Add the egg, Parmesan, parsley, garlic, 1 teaspoon kosher salt, oregano, and black pepper to the bowl. Stir until everything is evenly mixed before adding the meat.

  3. 3. Mix in the meat

    Add the ground beef and ground pork. Use clean hands or a fork to gently mix just until no large streaks remain. Do not squeeze or knead the mixture too much, or the meatballs can turn firm.

  4. 4. Shape the meatballs

    Roll the mixture into about 18 meatballs, each around 1 1/2 inches wide. If the mixture sticks to your hands, lightly wet your palms with water. Place the meatballs on a plate or baking sheet.

  5. 5. Brown the meatballs

    Heat the olive oil in a large, deep skillet or Dutch oven over medium heat. Add the meatballs in one layer, working in batches if needed. Brown them for 5 to 7 minutes, turning gently, until several sides are golden. They do not need to be cooked through yet. Transfer them to a plate.

  6. 6. Start the sauce

    Add the chopped onion to the same pan. Cook for 4 to 5 minutes, stirring often, until softened. If the pan looks dry, add a small splash of olive oil. Stir in the crushed tomatoes and water or broth, scraping up any browned bits from the bottom of the pan.

  7. 7. Simmer until cooked

    Bring the sauce to a gentle bubble, then return the meatballs and any juices to the pan. Lower the heat, cover partly, and simmer for 20 to 25 minutes, turning the meatballs once or twice. The meatballs are done when the centers reach 160°F on an instant-read thermometer.

  8. 8. Taste and serve

    Taste the sauce and add more salt if needed. If it tastes too acidic, stir in the optional sugar. Serve the meatballs with the sauce, extra Parmesan, and fresh basil or parsley if you like.

03From our kitchen

Cook's tips

  • Make-ahead: Shape the meatballs up to 1 day ahead. Cover and refrigerate them raw, then brown and simmer when ready to cook.
  • Storage: Refrigerate cooked meatballs and sauce in an airtight container for up to 4 days. Reheat gently on the stovetop or in the microwave until hot throughout.
  • Freezing: Freeze cooked meatballs in sauce for up to 3 months. Thaw overnight in the refrigerator, then reheat slowly so the sauce does not scorch.
  • Meat swaps: You can use all beef, all pork, ground turkey, or ground chicken. Lean poultry can be drier, so add 1 extra tablespoon milk or olive oil to the mixture.
  • No fresh garlic: Use 1/2 teaspoon garlic powder in the meatball mixture instead of fresh garlic.
  • Sauce shortcut: Use 3 cups of your favorite jarred marinara instead of the crushed tomatoes, onion, and water. Brown the meatballs, add the sauce, and simmer as directed.

Cook's note

For the most tender texture, stop mixing as soon as the meat mixture looks combined. Meatballs are forgiving, but overmixing is the most common reason they become dense.

04Frequently asked

Questions & answers

Can I bake the meatballs instead of pan-frying them?

Yes. Arrange the shaped meatballs on a parchment-lined baking sheet and bake at 425°F for 15 to 18 minutes, until browned and cooked through. Then simmer them in the sauce for 10 minutes so they absorb some flavor.

How do I know when meatballs are cooked?

The safest way is to use an instant-read thermometer. Beef and pork meatballs should reach 160°F in the center. If you do not have a thermometer, cut one open; it should be hot throughout with no raw-looking center.

Why are my meatballs falling apart?

They may need more binder or gentler handling. Make sure you use the egg and soaked breadcrumbs, and chill the shaped meatballs for 15 minutes if the mixture feels very soft. Turn them carefully while browning.

Can I make these without Parmesan?

Yes. Leave it out, or replace it with 2 tablespoons nutritional yeast for a savory note. You may need an extra pinch of salt because Parmesan adds saltiness.

What should I serve with meatballs besides spaghetti?

Try them over creamy polenta, rice, mashed potatoes, or sautéed greens. They also make good meatball subs with toasted rolls and melted mozzarella.

05Keep cooking