Blog
How to Make Meatballs From Scratch (Step by Step)
If you want to learn how to make meatballs that stay tender, juicy and round, you only need a few habits: soak bread in milk first, mix the meat gently, portion with a scoop, and cook until the center reaches a safe temperature. This guide walks you through each step and ends with a classic beef meatball recipe that makes about 24 meatballs, enough for 6 servings.
Below you’ll find a quick answer, a simple ratio chart, what the panade does, how to choose a meat blend, a step-by-step method, four cooking methods compared side by side, a troubleshooting table, food safety and freezing tips, and a printable recipe card at the bottom.

Quick Answer: How to Make Meatballs
Here is the short version of how to make meatballs from scratch. Each step is explained in more detail further down.
- Make a panade. Soak 2 slices of torn sandwich bread in â…“ cup (80 ml) milk for 5 minutes, then mash it into a paste.
- Add the flavor. Stir in 1 egg, grated Parmesan, grated onion, garlic, parsley, salt, pepper and oregano.
- Add the meat last. Break 1½ lb (680 g) ground beef over the bowl and mix with your fingertips just until combined.
- Portion with a scoop. Use a 2-tablespoon scoop for about 24 meatballs, roll them lightly with damp hands, and chill for 15 minutes if you have time.
- Cook to 160°F (71°C). Bake at 400°F (200°C) for 16 to 20 minutes, pan-fry, simmer in sauce or use an air fryer.
That’s about 20 minutes of prep and 20 minutes of cooking. Most of the difference between dense and soft meatballs happens before any heat is involved.
Homemade Meatballs: The Simple Chart
Once you know the basic ratio, homemade meatballs are easy to scale up or down. For every pound (450 g) of ground meat, use roughly the amounts below. The recipe card uses 1½ lb of beef, so it is the middle column multiplied by 1.5.
| Ingredient | Per 1 lb (450 g) meat | Per 1½ lb (680 g) meat | Per 2 lb (900 g) meat |
|---|---|---|---|
| Sandwich bread (soft, torn) | 1â…“ slices (37 g) | 2 slices (56 g) | 2â…” slices (75 g) |
| Milk | 3½ tbsp (53 ml) | ⅓ cup (80 ml) | 7 tbsp (105 ml) |
| Large egg | 1 small or ¾ large | 1 | 1 plus 1 yolk |
| Parmesan, finely grated | ⅓ cup (30 g) | ½ cup (45 g) | ⅔ cup (60 g) |
| Kosher salt (Diamond Crystal) | ¾ tsp plus a pinch | 1¼ tsp | 1⅔ tsp |
| Yield at 1½ inch (4 cm) | about 16 | about 24 | about 32 |
Size changes the count and the cook time, not the ratio. A 1-tablespoon scoop gives about 48 cocktail-size meatballs per 1½ lb, a 2-tablespoon scoop gives about 24 classic 1½-inch meatballs, and a ¼-cup scoop gives about 12 large ones for subs.
Ingredients for Classic Beef Meatballs
This is a straightforward meatball recipe with pantry ingredients. Exact amounts are also in the recipe card.
- Ground beef, 1½ lb (680 g), 85/15 or 80/20. Leaner beef cooks up drier.
- White sandwich bread, 2 slices (2 oz / 56 g). Soft, plain bread works best; trim the crusts if they are very firm.
- Whole milk, â…“ cup (80 ml). 2% milk also works.
- Large egg, 1. It helps bind the mix and adds moisture.
- Parmesan, ½ cup (45 g) finely grated. It adds savory flavor and a little salt.
- Yellow onion, ¼ cup grated (40 g), about ¼ of a small onion. Grating keeps the pieces small and juicy.
- Garlic, 2 cloves, minced or grated.
- Fresh parsley, 2 tablespoons chopped.
- Diamond Crystal kosher salt, 1¼ teaspoons (or ¾ teaspoon table salt).
- Black pepper, ½ teaspoon, and dried oregano, ½ teaspoon.
- Olive oil, 1 tablespoon, for the pan or sheet.
The Panade: Why Bread and Milk Make Tender Meatballs
A panade is simply starch soaked in liquid, most often bread and milk. It sounds old-fashioned, but it is the single most useful step in learning how to make meatballs that stay soft after cooking.
When ground meat heats up, its proteins tighten and squeeze out moisture. The soaked bread sits between those proteins and gets in their way, so they can’t bond as tightly. The starch also holds on to liquid, and that liquid stays inside the meatball instead of ending up in the pan. The result is a meatball that is tender and moist rather than bouncy and dry.
- Soak first, then mash. Give the bread 5 minutes in the milk, then mash it with a fork into a rough paste. Dry lumps of bread don’t do the job as well.
- Fresh bread or dry crumbs both work. In place of 2 slices of bread, use ½ cup (30 g) panko or ⅓ cup (40 g) plain dry breadcrumbs with the same milk.
- Other liquids are fine. Buttermilk adds tang, and broth or water works if you need dairy-free meatballs.
Need to skip the wheat? Our gluten free meatballs use a gluten-free binder and the same gentle method.
Choosing Your Meat Blend: Beef, Beef and Pork, or Turkey
All-beef meatballs are the most common, but the meat you choose changes the texture and the flavor. Fat matters most: around 15 to 20 percent fat keeps meatballs juicy, while very lean meat needs more help from the panade.
| Blend | Texture and flavor | Best for | Tips |
|---|---|---|---|
| All ground beef (80/20 or 85/15) | Rich, beefy, a little firmer | Spaghetti, subs, everyday dinners | Avoid 93/7 unless you add extra panade |
| Beef and pork (half and half) | Softer, juicier, slightly sweet | Italian-style meatballs in sauce | Use 12 oz (340 g) of each in this recipe |
| Beef, pork and veal (equal parts) | The most tender, delicate | Sunday sauce, special dinners | Handle gently; it is softer to roll |
| Ground turkey or chicken | Mild and lean | Lighter meals, soups | Choose 93/7 over 99% lean, add 1 tbsp olive oil, and cook to 165°F (74°C) |
Whatever you choose, buy ground meat that is cold, bright and fresh-smelling, and use it within 1 to 2 days. If you’re unsure about a package in your fridge, check our guide on how to tell if ground beef is bad.
Poultry needs a few extra tweaks. Ground turkey is wetter and stickier than beef, so chill the mixture for 30 minutes before you scoop, and keep your hands damp while rolling. For more ideas with lean poultry, browse these ground chicken recipes.
How to Make Meatballs Step by Step
This is the full method for the classic ground beef meatball recipe. If you’re baking, heat the oven to 400°F (200°C) and line a rimmed baking sheet with foil or parchment, then brush it with the olive oil before you start.
1. Make the panade
Tear the bread into small pieces in a large bowl, pour the milk over it and press it down. Leave it for 5 minutes, then mash it with a fork into a thick paste.
2. Add the egg, cheese and seasonings
Add the egg, Parmesan, grated onion, garlic, parsley, salt, pepper and oregano to the panade. Stir with the fork until evenly mixed. Seasoning the wet base first spreads the salt evenly, so you need less mixing later.
3. Add the meat and mix gently
Break the ground beef into small chunks over the bowl. Mix with your fingertips or a fork, lifting and folding, just until no streaks of panade remain. This should take about 30 to 60 seconds.
- Use a light touch, like tossing a salad, not kneading dough.
- Stop as soon as it looks even. Overmixing is the main cause of tough meatballs.
- Keep the meat cold. Warm fat smears and makes the texture dense.
Test the seasoning: pinch off a teaspoon of the mixture, cook it in a small pan or the microwave until no pink remains, and taste. Adjust the salt or herbs before you shape the whole batch.

4. Portion with a scoop and roll
Use a 2-tablespoon cookie scoop (a #30 scoop) to portion the mixture onto the oiled baking sheet or a plate. Each portion weighs about 1½ oz (40 g). A scoop keeps every meatball the same size, so they all finish cooking at the same time.
- Wet your hands with cold water so the mixture doesn’t stick.
- Roll each portion lightly between your palms for 2 or 3 turns until round.
- Don’t squeeze or pack. A loose, slightly rough surface is fine.
- Space them about 1 inch (2.5 cm) apart.
If you have time, chill the shaped meatballs for 15 to 30 minutes. Cold meatballs hold their shape better, especially if you pan-fry them or drop them into sauce.
5. Cook until the center reaches 160°F (71°C)
Bake for 16 to 20 minutes, until browned on the outside and 160°F (71°C) in the center of the largest meatball. For other sizes and temperatures, use the time chart in our guide to how long to cook meatballs in the oven. You can also pan-fry, simmer or air fry them; the next section compares each method.
6. Rest and serve
Let the meatballs rest for 3 to 5 minutes so the juices settle. Serve them as they are, toss them in warm sauce, or tuck them into rolls.
Cooking Methods Compared: Oven, Pan, Sauce or Air Fryer
Every method works with this meatball recipe. Choose by how much crust you want and how many you’re making.
| Method | Temperature and time (1½-inch) | Result | Best for |
|---|---|---|---|
| Oven | 400°F (200°C), 16 to 20 min | Evenly browned, hands-off, less mess | Big batches, meal prep, freezing |
| Pan-fry | Medium heat, 1 to 2 tbsp oil, 10 to 12 min, turning | Deepest crust and flavor | Small batches, browning before sauce |
| Simmer in sauce | Gentle simmer, covered, 20 to 25 min | Very soft, sauce soaks in | Spaghetti and meatballs, one-pot meals |
| Air fryer | 380°F (193°C), 9 to 11 min, shake halfway | Crisp outside, fast | Small households, quick dinners |
Oven-baked
Baking is the easiest way to cook a full batch at once. Space the meatballs 1 inch apart on an oiled, lined sheet and bake on the middle rack. For more color, broil for the last 1 to 2 minutes.
Pan-fried
Heat 1 tablespoon oil in a large skillet over medium heat and add the meatballs in a single layer, in two batches. Turn them every 2 to 3 minutes until browned all over and 160°F (71°C) inside.
Simmered in sauce
Bring about 4 cups (1 liter) of marinara to a gentle simmer in a wide pot. Lower in the chilled raw meatballs, cover, and simmer 20 to 25 minutes, without stirring for the first 10. Browned meatballs need only 10 to 15 minutes.
Air fryer
Brush the basket with oil, cook in a single layer at 380°F (193°C) and shake halfway. Smaller air fryers need two batches for 24 meatballs.
Common Mistakes to Avoid
When you’re learning how to make meatballs, most problems come from the same few habits. Use this table to fix them next time.
| Problem | Likely cause | Fix |
|---|---|---|
| Tough, bouncy meatballs | Overmixing, packing too tightly, or no panade | Mix with fingertips just until combined; roll lightly; always use bread and milk |
| Falling apart | Too much panade, no egg, warm mixture, or stirring the pot too soon | Follow the ratio, add the egg, chill before cooking, and wait 10 minutes before stirring sauce |
| Dry meatballs | Very lean meat or overcooking | Use 80/20 or 85/15 beef and pull them at 160°F (71°C) |
| Bland flavor | Not enough salt, or salt not mixed evenly | Season the panade first and cook a test bite |
| Uneven doneness | Different sizes | Portion with a scoop |
One more habit keeps homemade meatballs reliable: trust a thermometer, not color. Some meatballs stay pink at a safe temperature, and others brown before the center is done.
Food Safety Tips (USDA Guidelines)
Ground beef needs more care than a steak, because grinding spreads surface bacteria through the whole batch. These guidelines follow the FoodSafety.gov safe minimum internal temperature chart.
| Meatball type | Safe internal temperature |
|---|---|
| Ground beef, pork, veal or lamb | 160°F (71°C) |
| Ground turkey or chicken | 165°F (74°C) |
| Reheated leftover meatballs | 165°F (74°C) |
- Check the biggest one. Push an instant-read thermometer into the center of the largest meatball, from the side.
- Don’t taste raw mixture. Cook a small test piece instead. Raw egg and raw flour-based binders are also not safe to eat uncooked.
- Keep it cold. Mix and shape straight from the fridge, and refrigerate shaped meatballs if they wait more than a few minutes.
- Refrigerate within 2 hours. Cooked meatballs keep 3 to 4 days in the fridge.
Raw ground beef keeps only 1 to 2 days in the fridge. For more detail, see how long ground beef lasts in the fridge.
How to Freeze Meatballs: Raw vs. Cooked
Homemade meatballs freeze very well, so a double batch is worth it. You can freeze them raw or cooked.
| Freeze raw | Freeze cooked | |
|---|---|---|
| Best for | Simmering in sauce later | Fast dinners, lunches, reheating |
| Texture | Slightly softer and fresher-tasting | Firmer; holds shape well |
| How to freeze | Freeze shaped meatballs on a lined tray 1 to 2 hours, then bag | Cool completely, freeze on a tray, then bag |
| How to cook | Bake from frozen at 400°F (200°C) for 25 to 30 min, or thaw overnight and cook as fresh | Reheat in sauce or the oven until 165°F (74°C) |
| Quality time | 3 to 4 months | 2 to 3 months |
- Freeze in a single layer on a lined tray so they don’t stick together.
- Bag them, press out the air, and label with the date and “raw” or “cooked”.
- Thaw raw meatballs in the refrigerator, never on the counter.
Frozen food stays safe indefinitely at 0°F (−18°C), but the quality is best within the times above, per the FoodSafety.gov cold storage chart.

Easy Recipes to Try Next
Once you know how to make meatballs, one batch can turn into several different dinners. Here are simple ways to use them.
- Spaghetti and meatballs: simmer the cooked meatballs in marinara for 10 minutes and serve over pasta with extra Parmesan.
- Meatball subs: tuck 3 or 4 meatballs and sauce into a toasted roll, top with provolone or mozzarella, and broil until melted.
- Swedish-style meatballs: simmer them in a simple beef broth and sour cream gravy, then serve over egg noodles or mashed potatoes.
- Meatball soup: make 1-inch meatballs and drop them into simmering broth with vegetables and small pasta.
- Appetizer meatballs: toss cocktail-size meatballs in barbecue sauce and serve warm.
If you like the creamy, noodle-and-gravy idea, our quick ground beef stroganoff uses the same pantry ingredients in one pan. Want lighter options for the rest of the week? Try these healthy ground beef recipes, or browse all our beef recipes for more dinner ideas.
Meatball Recipe FAQs
What is the secret to making good meatballs?
A panade of bread soaked in milk, meat with 15 to 20 percent fat, and gentle mixing. Those three things keep meatballs tender and juicy. Portioning with a scoop and cooking to 160°F (71°C) instead of guessing keeps them from drying out.
Do you put egg in meatballs?
Usually, yes. One large egg per 1½ lb (680 g) of meat helps bind the mixture and adds moisture. You can leave it out if the panade is well mashed, but the meatballs will be a little more delicate in sauce.
Is it better to bake or fry meatballs?
Baking is easier for large batches and uses less oil. Frying gives a deeper crust and more flavor in small batches.
Can you cook raw meatballs directly in sauce?
Yes. Chill them first, lower them into gently simmering sauce, cover and cook 20 to 25 minutes until they reach 160°F (71°C). Avoid stirring for the first 10 minutes so they don’t break apart.
Why do my meatballs fall apart?
Usually there is too much bread or liquid, no egg, or the mixture was warm when it went into the pan. Follow the ratio chart, chill the shaped meatballs, and let them set before turning or stirring.
How many meatballs does 1 pound of ground beef make?
- About 32 small 1-inch meatballs
- About 16 medium 1½-inch meatballs
- About 8 large 2-inch meatballs
Classic Beef Meatballs Recipe Card
Calories are an estimate per serving (4 meatballs, 1/6 of the batch) based on USDA FoodData Central values for raw 85/15 ground beef, white bread, whole milk, egg, Parmesan, onion and olive oil, before any sauce.

Classic Beef Meatballs
Ingredients
Equipment
Method
- Heat the oven to 400°F (200°C). Line a rimmed baking sheet with foil or parchment and brush it with the olive oil.
- Put the torn bread in a large bowl, pour the milk over it and press it down. Soak 5 minutes, then mash with a fork into a thick paste.
- Stir in the egg, Parmesan, grated onion, garlic, parsley, salt, pepper and oregano until even.
- Break the ground beef into small chunks over the bowl and mix gently with your fingertips for 30 to 60 seconds, just until no streaks remain. Cook a teaspoon-size test piece and adjust the seasoning if needed.
- Portion with a 2-tablespoon scoop (about 1 1/2 oz / 40 g each), roll lightly with damp hands, and space 1 inch apart on the sheet. Chill 15 to 30 minutes if you have time.
- Bake 16 to 20 minutes, until browned and 160°F (71°C) in the center of the largest meatball.
- Rest 3 to 5 minutes, then serve as they are or simmer in warm sauce.