The first sizzle in the Dutch oven is a good sign: the meatballs are browning, and the pot is collecting the savory bits that give the vegetables a head start. Meatball stew can go wrong when the meatballs turn dense or the broth stays thin, but this version builds flavor in the same pot without making either problem likely.
I let the breadcrumbs soak in milk before mixing in the beef and egg. That small pause gives the crumbs time to soften, so they help hold the meatballs together without making them heavy. Mix the beef only until everything comes together, then shape the meatballs evenly; they’ll finish cooking right in the broth with the potatoes. Each spoonful of this meatball stew has tender beef, soft vegetables, and a savory broth that’s just thick enough to cling.

Kitchen Note
Keep the meatballs close to 1 1/4 inches wide and similar in size. If some are much larger than others, they won’t finish at the same pace when they return to the pot.
Save this hearty meatball stew for a cozy dinner, with browned beef meatballs and potatoes simmered in a savory broth.
The Flour Goes In Before the Broth for a Reason
A thin stew often comes from adding flour too late, when it can’t disperse smoothly, or dumping broth in all at once and leaving lumps behind. Here, flour cooks briefly with the tomato paste before any liquid goes into the pot. That minute lets the flour coat the vegetables and gives the paste a chance to deepen, rather than leaving a raw flour taste in the finished broth.
Whisking in the beef broth gradually is the other part of the sequence that matters. Start with a small pour and whisk until the mixture looks smooth, then keep adding broth in stages. Once the potatoes go in, the broth has enough time to thicken as they simmer, while the tomato paste and Worcestershire bring a savory base without turning the stew into a tomato soup. The result should be spoonable and hearty, not gluey or watery.
There’s no need to make a separate roux or dirty another pan. The flour and tomato paste do their work right in the Dutch oven, where the browned meatball bits are already waiting in the background.
The Meatball Mixture and Broth Builders That Shape the Stew

- Breadcrumbs and whole milk — The softened crumbs help the beef hold together and keep the centers tender. Plain breadcrumbs are all you need here; let them absorb the milk before the beef goes in.
- 85% lean ground beef — This balance of meat and fat gives the meatballs tenderness without leaving the stew overly greasy. Use fresh ground beef and handle it gently; the mixture gets firmer if you work it too much.
- Yellow onion and carrots — These soften into the base and add gentle sweetness. Cut the carrots into even pieces so they cook at the same pace as the potatoes.
- All-purpose flour and tomato paste — Flour thickens the broth, while tomato paste adds concentrated savory depth. Stir both in well so no dry flour remains against the pot.
- Yukon Gold potatoes — Their creamy texture holds up well through the simmer without turning the stew starchy and fragile. Keep the pieces close to the same size for even cooking.
- Worcestershire, thyme, and bay leaf — These season the broth with savory, herbal depth. A single bay leaf is easy to remove before serving, so don’t forget to fish it out.
- Frozen peas — They need only a short finish in the hot stew, which keeps their color brighter and their texture pleasant instead of soft and dull.
From Soft Breadcrumbs to a Finished Pot of Stew
Soften the Crumbs and Shape the Meatballs
Stir the breadcrumbs and milk together in a medium bowl and let them stand for 5 minutes. Mix in the egg, ground beef, salt, and pepper just until combined; a heavy hand can make the meatballs dense. Shape about 20 meatballs, each about 1 1/4 inches wide, keeping their size consistent. You want a cohesive mixture that holds together, not a tightly packed ball.
Brown the Meatballs in Batches
Heat the vegetable oil in a 5-quart Dutch oven over medium-high heat. Brown the meatballs in batches for 5 to 7 minutes, turning them as they color, then transfer them to a plate. Let each batch have room to touch the hot pot rather than crowding them together. At this stage, look for browned patches around the outside; the centers will finish cooking later.
Build the Vegetable and Broth Base
Add the diced vegetables to the same pot and cook over medium heat for 5 to 7 minutes, stirring occasionally, until softened. Stir in the garlic for 30 seconds, then add the flour and tomato paste and cook for 1 minute. Gradually whisk in the beef broth, taking time to smooth out each addition. Add the potatoes and remaining seasonings, then bring the stew to a boil.
Simmer Until the Potatoes and Meatballs Are Done
Cover the pot and simmer over low heat for 12 to 15 minutes, until the potatoes are nearly tender. Return the meatballs and any juices to the pot, then simmer uncovered for 8 to 10 minutes, until the potatoes are tender and the meatballs reach 160°F in the center. Stir in the frozen peas and cook for 2 to 3 minutes. Remove the bay leaf and let the stew rest off the heat for 5 minutes before serving.
Easy Swaps That Keep the Stew Balanced
Make It Gluten-Free
Use gluten-free plain breadcrumbs in place of the regular breadcrumbs, a gluten-free 1:1 flour blend instead of all-purpose flour, and gluten-free Worcestershire sauce. Keep the same amounts. The broth may thicken a little differently, so whisk the liquid in gradually and judge the finished texture in the pot.
Make the Meatballs Dairy-Free
Replace the whole milk with the same amount of plain, unsweetened oat milk or soy milk. The crumbs still soften into a panade, though the meatballs will have a slightly less rich flavor than the original version. Avoid sweetened or vanilla-flavored milk alternatives.
Use Russet Potatoes for a Softer, Thicker Stew
Swap in the same weight of russet potatoes, cut into 1-inch pieces. They’ll break down more readily than Yukon Golds and release extra starch, giving the broth a thicker, softer texture. Stir gently as they cook so the pieces don’t crumble into the stew.
Storage and Reheating
- Refrigerator: Keep leftovers covered for 3 to 4 days. The potatoes will soften as they sit in the broth.
- Freezer: Freeze in airtight containers for up to 3 months. The stew freezes well, though the potatoes may be softer after thawing; thaw overnight in the refrigerator.
- Reheating: Warm gently in a covered saucepan over low heat, stirring now and then, until steaming throughout. Avoid a hard boil, which can break up the potatoes and toughen the meatballs.
Questions About Meatball Stew That Come Up at the Stove

Meatball Stew
Ingredients
Equipment
Method
- In a medium bowl, stir the breadcrumbs and milk together and let stand for 5 minutes.
- Mix in the egg, ground beef, salt, and pepper until just combined.
- Shape the mixture into about 20 meatballs, each about 1 1/4 inches wide.
- Heat the vegetable oil in a 5-quart Dutch oven over medium-high heat.
- Brown the meatballs in batches for 5 to 7 minutes, turning them as they brown, then transfer them to a plate.
- Add the onion, carrots, and celery to the Dutch oven and cook over medium heat for 5 to 7 minutes, stirring occasionally, until softened.
- Stir in the garlic for 30 seconds.
- Stir in the flour and tomato paste and cook for 1 minute.
- Gradually whisk in the beef broth.
- Add the potatoes, Worcestershire sauce, thyme, bay leaf, and salt.
- Bring the stew to a boil, then cover and simmer over low heat for 12 to 15 minutes, until the potatoes are nearly tender.
- Return the meatballs and any juices to the pot and simmer uncovered for 8 to 10 minutes, until the potatoes are tender and the meatballs reach 160°F in the center.
- Stir in the peas and cook for 2 to 3 minutes.
- Remove the bay leaf and let the stew rest off the heat for 5 minutes before serving.



