In this article
If your meatballs come out hard as golf balls, it is not the meat, and it is not the recipe. You skipped the bread soaked in milk. My mother made a big batch of meatballs every other Friday, and they were so tender you could cut them with the side of a fork. She never measured much, but she never once left out the bowl of torn bread with milk poured over it, sitting on the counter until it went to mush. My grandsons eat them straight out of the pot now, before they ever make it to the spaghetti.
That mush has a name in cooking schools, but in our kitchen it was just the bread. It works because the soaked bread holds on to the juices while the meat cooks, so the meatball stays soft and loose instead of shrinking and squeezing itself tight. The other two secrets are a light hand and the oven. The more you work ground beef, the tougher it gets, so you mix only until it comes together. And instead of standing at the stove frying in batches, you brown them all at once on a sheet pan in a hot oven, then let them finish in the sauce.
Why this tender meatballs works
- Bread soaked in milk. It keeps moisture inside the meatball and stops the meat proteins from tightening, which is what makes meatballs hard.
- Grated onion. Grated instead of chopped, it melts into the meat and adds juice without leaving crunchy pieces.
- A light hand. Mixing just until combined keeps the texture loose and tender.
- Wet hands. Rolling with damp hands keeps the meat from sticking, so you do not have to press it hard to shape it.
- Baked, then simmered. A hot oven browns every side evenly with no splatter, and a short simmer in sauce finishes them gently.
Ingredients
Makes about 30 meatballs, about 6 servings with spaghetti. The measurements are in US cups with grams in brackets.
For the meatballs
- 3 slices soft white sandwich bread, crusts on (about 85g)
- 1/2 cup whole milk (120ml)
- 2 pounds ground beef, 85% lean (900g)
- 1 large egg
- 1 small onion, grated (about 1/3 cup, 60g)
- 3 cloves garlic, minced
- 1/2 cup finely grated parmesan (45g)
- 2 tablespoons chopped fresh parsley
- 1 1/2 teaspoons fine salt
- 1/2 teaspoon black pepper
To simmer
- 4 cups tomato sauce or your own marinara (about 1 liter)
Use beef that is not too lean. Ground beef at 80 to 85 percent lean gives a juicier meatball; 93 percent lean will be dry even with the bread.
How to make tender meatballs
- Heat the oven to 400 degrees (200°C). Line a large sheet pan with foil or parchment and brush it lightly with oil.
- Tear the bread into small pieces into a large bowl and pour the milk over it. Let it stand 5 minutes, then mash it with a fork into a soft paste.
- Add the egg, grated onion, garlic, parmesan, parsley, salt and pepper to the bread and stir together.
- Add the ground beef and mix with your fingers, gently, just until everything is evenly combined. Stop as soon as it comes together.
- Wet your hands with cold water and roll the mixture into balls about 1 1/2 inches across. Set them on the sheet pan with a little space between them.

- Bake at 400 degrees for 18 to 20 minutes, until browned on the outside and cooked through.
- Meanwhile, warm the tomato sauce in a wide pot. Move the baked meatballs into the sauce and simmer gently, covered, for 15 to 20 minutes.
- Serve over spaghetti or in rolls, with more parmesan on top.

Tips that make the difference
- A small ice cream scoop makes every meatball the same size, so they all finish at the same time.
- Fry a teaspoon of the mixture in a pan before rolling to taste for salt.
- Do not pack them. Roll them just until round; squeezing makes them dense.
- If you are making them ahead, bake them and freeze them before they go into the sauce.
Variations
- Half and half. Use half ground beef and half ground lamb for a richer meatball.
- Swedish style. Simmer them in a creamy beef gravy instead of tomato sauce and serve them over egg noodles.
- Meatball subs. Pile them into toasted rolls with sauce and melted mozzarella.
- Party size. Roll them 1 inch across and bake 12 to 14 minutes for small meatballs.
Storage and make-ahead
Keep cooked meatballs in their sauce, covered in the refrigerator, for up to 4 days. They are even better the next day.
Freeze baked meatballs on the sheet pan, then bag them; they keep 3 months. Drop them frozen into simmering sauce for 25 minutes.
Reheat gently in sauce over low heat, never in a hot dry pan.
Frequently asked questions
Why are my meatballs hard?
Most often there is no bread soaked in milk, or the meat was mixed too long. The soaked bread holds the juices in, and a light hand keeps the texture loose.
How hot should the oven be for meatballs?
400 degrees. At that heat 1 1/2 inch meatballs brown outside and cook through in 18 to 20 minutes.
Can I use breadcrumbs instead of bread?
Yes: use 3/4 cup of plain dry breadcrumbs soaked in the same 1/2 cup of milk. Fresh bread gives a softer meatball.
Do I have to bake them first?
No, you can drop them raw into simmering sauce, but baking gives them a browned outside and more flavor, and they hold their shape better.
Soak the bread, mix with a light hand, and let the oven do the browning. That is how a meatball stays tender enough to cut with a fork.
Tender Meatballs (Bread Soaked in Milk, Baked Not Fried)
Soft, tender beef meatballs made the old way, with torn bread soaked in milk, mixed with a light hand, rolled with wet hands and browned in a 400 degree oven for 18 to 20 minutes before simmering in tomato sauce.
Ingredients
- 3 slices soft white sandwich bread, crusts on
- 1/2 cup whole milk
- 2 pounds ground beef, 85% lean
- 1 large egg
- 1 small onion, grated
- 3 cloves garlic, minced
- 1/2 cup finely grated parmesan
- 2 tablespoons chopped fresh parsley
- 1 1/2 teaspoons fine salt
- 1/2 teaspoon black pepper
- 4 cups tomato sauce or your own marinara
Instructions
- Heat the oven to 400 degrees (200°C). Line a large sheet pan with foil or parchment and brush it lightly with oil.
- Tear the bread into small pieces into a large bowl and pour the milk over it. Let it stand 5 minutes, then mash it with a fork into a soft paste.
- Add the egg, grated onion, garlic, parmesan, parsley, salt and pepper to the bread and stir together.
- Add the ground beef and mix with your fingers, gently, just until everything is evenly combined. Stop as soon as it comes together.
- Wet your hands with cold water and roll the mixture into balls about 1 1/2 inches across. Set them on the sheet pan with a little space between them.
- Bake at 400 degrees for 18 to 20 minutes, until browned on the outside and cooked through.
- Meanwhile, warm the tomato sauce in a wide pot. Move the baked meatballs into the sauce and simmer gently, covered, for 15 to 20 minutes.
- Serve over spaghetti or in rolls, with more parmesan on top.






