When it comes to cooking meatballs in sauce, there’s a fine line between cooking them fully through and having them come out soggy and mushy.

Suppose you’re cooking for a crowd, like a long-overdue family gathering or your daughter’s 2nd birthday party. You want to prepare meatballs in sauce, whether that’s canned tomatoes, gravy, or something fancier, in advance.

By the time your guests arrive and the hour comes to plate and serve the meatballs, you want to keep those meatballs warm. Yet, for obvious reasons, you don’t want to overcook them.

Meatballs should be cooked until they reach the minimum internal temperature for safe consumption. If you let them simmer or sit in the sauce for too long, you can overcook them, in which case they’ll become tough at first—and eventually turn soggy and mushy.

What’s the correct way to prepare meatballs and keep them warm, then, so that they don’t overcook?

Before we get into it, let’s take a minute or two to talk ground meat. Every now and then, some of us make the mistake of using lean meat, especially when that meat is beef, and cooking our meatballs to perfection, only to have them come out incredibly tough.

Lean Meat: The Overlooked Reason for Tough Meatballs

When you’re shopping for ground meat at the grocery store or butcher shop, you’ll notice that there’s a ratio, typically 93/7, 90/10, or 90/20, on the label. That ratio indicates the percentage of lean meat to fat, with 93/7 being the leanest and 90/20 the fattiest.

But the percentage of lean meat to fatty tissue is only part of the secret.

The most tender and juicy meatballs are made from a mix of ground beef, pork, and veal. Beef is the non-negotiable, pork adds aroma and flavor, and veal adds a bit of moisture and succulence to the equation.

Of course, you’re free to throw in breadcrumbs or finely-ground potato flour for lightness, minced garlic and chopped onions for that sweet zing, and an egg to help hold all the extra ingredients together. Melissa Clark, New York Times food columnist, has come up with a wonderful recipe that works great with any meat combo.

Last but not least, handle the raw meat as quickly as possible when mixing and shaping the meatballs, and never overwork it. Doing so will agitate the connective tissue (called “collagen”), and your meatballs will come out about as easy to chew as the leather on your shoes. To ration the ground meat quickly and easily, use an ice-cream scoop.

Now that we’ve cleared that, no matter how good your technique, meatballs made from excessively lean meat will almost always come out tough and dry, let’s get straight to the point about how to cook them (even if the cooking takes place hours or a day or two in advance).

How Not to Overcook Meatballs in Sauce

The best way to cook meatballs in sauce is to sear them in a hot pan until a brown and crispy crust has formed on the outside, then finish them off by simmering them in the sauce.

That crust not only gives them a more appealing texture but, thanks to something chemists call the Maillard reaction, creates hundreds of new aromatic and flavorful compounds that make your meatballs taste better.

You know that the meatballs are done when your meat thermometer measures 160°F (71.1°C) in the center of the meat (according to the U.S. Department of Agriculture, that’s the minimum internal temperature for safely-preparing ground meat).

The important thing is not to let the meatballs simmer for longer than they need to cook through. Eventually, they’ll soak up so much of the sauce that they’ll turn from fork-tender to fall-apart soggy and mushy.

Rather than overcooking the meatballs to keep them at serving temperature, shape them ahead of time and put them in your fridge, spaced out on a baking sheet that you’ve covered tightly in saran wrap, for up to 24 hours.

For better or worse, meatballs in sauce is one of those dishes that’s best made fresh. Still, if you absolutely must make them ahead of time, brown them in a hot pan and hold them at room temperature for up to one hour, then simmer them until fully cooked and serve.

Depending on the size of the meatballs and the sauce’s temperature, it can take anywhere from 10-15 minutes until the meatballs are done (basically, until the ground meat has reached the minimum internal temperature of 160°F/71.1°C in the center).

Frozen meatballs should be cooked to the same temperature. However, they take approximately twice as long as raw meatballs to cook through. The cooking time is roughly 30 minutes to 1 hour and varies with the size of your meatballs.

Though the cooking time probably matters to you as the person preparing the meatballs, it’s important to remember that the internal temperature is the only accurate way to tell they’re truly done.

How to Make Meatballs That Won’t Fall Apart

We’ve already established that overcooking your meatballs in the sauce can cause them to start falling apart. So are there any other steps that you can take to prevent that from happening?

Eggs act as a binding agent for your meatballs, especially when they contain non-egg ingredients such as breadcrumbs, potato flour, or alliums.

When it comes to using egg as a binding agent, however, you can have too much of a good thing. Add too much of it, and your meatballs will come out wet and spongy, which is the opposite of what you want to achieve.

Learning With Experts recommends that you add 1 small-sized egg per 1 lb of minced meat, and, through much trial and error, I’ve come to the same recommendation.

If you’re adding any non-meat ingredients to the meat, make sure it’s minced or diced finely. Large onion cubes, for example, can easily cause your meatballs to start falling apart, even if you’ve done your homework and did everything the recipe said.

When cooking in an uncoated cast iron, carbon steel, or stainless steel pan, don’t rush to move the meatballs too quickly—or you risk breaking them apart. At first, the proteins in the meat will react to the metal and stick to it. However, the meatballs will gradually release themselves from the cooking surface of your pan as they brown.