This Meatball Stew Recipe is the kind of cozy comfort food that makes everyone want to gather around the table. Tender homemade beef meatballs simmer with carrots, celery, mushrooms, potatoes, green beans, and peas in a rich, savory broth flavored with red wine, tomato paste, rosemary, and thyme.
The meatballs are browned first, giving the stew an extra layer of flavor, while the vegetables become tender and the broth thickens into a hearty sauce. It’s a satisfying one-pot dinner that’s perfect for chilly evenings, Sunday suppers, or anytime you’re craving a warm homemade meal.
You can make it on the stovetop, in a slow cooker, or in an Instant Pot, so it’s easy to adapt to whatever cooking method works best for you.
Why You’ll Love This Recipe
- Classic comfort food: Tender meatballs and hearty vegetables make this stew incredibly satisfying.
- Rich and flavorful: Browning the meatballs and vegetables creates a deeply savory base.
- Family-friendly: It’s a complete meal with meat, potatoes, and plenty of vegetables.
- Three cooking methods: Make it on the stovetop, in a slow cooker, or in an Instant Pot.
- Great for leftovers: The stew keeps well and makes an easy meal for busy days.
Ingredients
For the Meatballs
- 1½ pounds ground beef: Forms the hearty, flavorful base of the meatballs.
- 2 tablespoons milk: Adds moisture and helps keep the meatballs tender.
- ½ cup breadcrumbs: Gives the meatballs structure while helping them stay soft.
- 1 large egg: Binds the meatball mixture together.
- 2 garlic cloves, minced: Adds savory garlic flavor.
- 2 tablespoons fresh parsley, finely chopped: Brings freshness to the meatballs.
- 2 teaspoons dried Italian seasoning: Adds a blend of classic herbs.
- 1 teaspoon salt: Seasons the meatballs.
- ½ teaspoon black pepper: Adds mild warmth and balances the flavors.
For the Stew
- 3 tablespoons olive oil, divided: Used for browning the meatballs and sautéing the vegetables.
- ½ medium white onion, diced: Adds sweetness and savory flavor.
- 2 celery stalks, diced: Contribute fresh, aromatic flavor.
- 2 medium carrots, diced: Add sweetness, color, and texture.
- 8 oz mushrooms, sliced: Bring an earthy, savory flavor to the stew.
- 4 garlic cloves, finely chopped: Add another layer of aromatic flavor.
- ¼ cup all-purpose flour: Helps thicken the stew on the stovetop and Instant Pot.
- 2 tablespoons tomato paste: Adds concentrated tomato flavor and richness.
- 1 cup dry red wine: Deepens the flavor of the stew and helps deglaze the pan.
- 5 cups beef broth: Creates the rich, savory cooking liquid.
- 2 sprigs fresh rosemary: Add fragrant herbal flavor.
- 1 tablespoon fresh thyme: Brings a fresh, earthy note.
- 1 dried bay leaf: Adds subtle depth to the broth.
- ¾ pound potatoes, peeled and cut into large chunks: Make the stew hearty and filling.
- 1 cup fresh green beans: Add color, freshness, and texture.
- 1 cup frozen peas: Add sweetness and a pop of color.
- Salt and pepper, to taste: Used to adjust the final seasoning.
How to Make Meatball Stew
Make the Meatballs
- Combine the ingredients.
In a large bowl, combine the ground beef, milk, breadcrumbs, egg, garlic, parsley, Italian seasoning, salt, and black pepper. - Don’t overmix.
Gently mix everything until just combined. Overmixing the meat mixture can make the meatballs tough. - Shape the meatballs.
Roll the mixture into approximately 20–25 equal-sized meatballs. - Optional chilling step:
If you have time, refrigerate the shaped meatballs for about 30 minutes before cooking. This can help them hold their shape.
Brown the Meatballs
- Heat the oil.
Heat 2 tablespoons of olive oil in a large Dutch oven or braiser over medium-high heat. - Brown the meatballs.
Add the meatballs, working in batches if necessary, and brown them on all sides. They don’t need to be fully cooked at this stage. - Set aside.
Transfer the browned meatballs to a plate while you prepare the stew.
Build the Stew
- Sauté the vegetables.
Reduce the heat to medium. Add the remaining tablespoon of olive oil if needed, then add the onion, carrots, celery, and mushrooms. Sauté for about 5 minutes, until the vegetables begin to soften. - Add garlic and flour.
Stir in the chopped garlic and flour. Cook for about 1 minute, stirring well. - Deglaze with red wine.
Gradually pour in the red wine while stirring and scraping up the browned bits from the bottom of the pan. These browned bits add wonderful flavor to the stew. - Add tomato paste.
Stir in the tomato paste until well combined. Simmer and reduce the mixture for about 5 minutes.
Simmer the Stew
- Add the broth and herbs.
Pour in the beef broth and add the thyme, rosemary, bay leaf, and browned meatballs. - Simmer.
Increase the heat to medium-high and bring the stew to a simmer. Reduce the heat back to medium and simmer for 15–20 minutes. - Add the potatoes.
Add the potatoes and cook for about 25 minutes, or until they are nearly tender. - Add green beans and peas.
Stir in the green beans and frozen peas. Cook for about 5 additional minutes, or until the potatoes and green beans are cooked to your liking. - Season and rest.
Taste the stew and adjust the salt and pepper as needed. Remove from the heat and let it rest for 5–10 minutes before serving.
Slow Cooker Method
- Prepare and brown the meatballs as described above.
- Sauté the onion, celery, carrots, and mushrooms in the same pan.
- Transfer the vegetable mixture to the slow cooker.
- Add all remaining stew ingredients except the cornstarch.
- Stir well, then place the browned meatballs into the mixture.
- Cover and cook on low for 5–6 hours or high for 2–3 hours.
- When the stew is finished, combine the cornstarch with ¼ cup cold water and mix until smooth.
- Slowly stir the cornstarch mixture into the stew.
- Cook uncovered for another 5–10 minutes, allowing the stew to thicken.
Instant Pot Method
- Prepare the meatballs as described above.
- Set the Instant Pot to Sauté mode. Add 2 tablespoons of oil and, once hot, brown the meatballs in batches. Transfer them to a plate.
- Add more oil if needed, then sauté the onion, celery, carrots, and mushrooms until they begin to soften.
- Add the flour and garlic, stir well, and cook for about 1 minute.
- Turn off the Instant Pot.
- Add the remaining ingredients and stir well, scraping up any browned bits from the bottom.
- Add the browned meatballs to the mixture.
- Secure the lid, seal the valve, and cook on high pressure for 30 minutes.
- Allow a natural pressure release.
- Mix the cornstarch with ¼ cup cold water. Slowly stir it into the stew.
- Turn the Instant Pot back to Sauté mode and cook for 5–10 minutes, stirring occasionally, until the stew thickens.

Tips for Success
- Don’t overmix the meatballs. Mix the ingredients just until combined to keep the meatballs tender.
- Brown the meatballs well. This creates flavorful browned bits that make the stew taste richer.
- Chill the meatballs if possible. Thirty minutes in the refrigerator can help them hold their shape during cooking.
- Choose waxy potatoes. Red potatoes or Yukon Gold potatoes hold together better during the longer cooking time.
- Adjust for Russet potatoes. If using Russet potatoes, reduce the potato cooking time to about 15 minutes to prevent them from breaking apart.
- Use dried herbs when necessary. If you don’t have fresh rosemary and thyme, use 1 teaspoon each of dried thyme and dried rosemary.
- Frozen green beans work too. You can substitute frozen green beans for fresh ones.
- Let the stew rest. A short resting period after cooking allows the flavors to settle and the broth to thicken slightly.
Equipment Needed
- Large Dutch oven or braiser
- Large mixing bowl
- Wooden spoon or spatula
- Measuring cups and spoons
- Slow cooker, optional
- Instant Pot, optional
Recipe Variations
Make It With Ground Turkey
For a lighter variation, substitute ground turkey for the ground beef. Keep an eye on the meatballs while browning because lean turkey can cook more quickly.
Add More Vegetables
Add extra mushrooms, carrots, celery, or other sturdy vegetables for an even more vegetable-packed stew.
Make It Without Wine
If you prefer not to use red wine, replace it with additional beef broth. The flavor will be slightly different but the stew will still be delicious.
Add Extra Herbs
Fresh parsley, rosemary, or thyme can be added just before serving for a fresh finishing touch.
What to Serve With Meatball Stew
This stew is hearty enough to serve on its own, but a few simple sides can make the meal even better.
Try serving it with:
- Crusty French bread
- Garlic bread
- Dinner rolls
- Mashed potatoes
- A simple green salad
- Roasted vegetables
A piece of crusty bread is especially useful for soaking up the rich, flavorful broth.
Storage and Reheating
Meatball stew makes excellent leftovers.
Allow the stew to cool to room temperature, then transfer it to an airtight container. Refrigerate for 3–4 days.
For longer storage, freeze the stew for 2–3 months. Thaw it overnight in the refrigerator before reheating.
Reheat the stew on the stovetop over medium heat until warmed through. If the stew has thickened too much during storage, add a little extra water or broth while reheating.
Frequently Asked Questions
Can I make the meatballs ahead of time?
Yes. You can prepare the meatballs ahead and refrigerate them before cooking. Chilling them for about 30 minutes can also help them hold their shape.
What potatoes are best for meatball stew?
Red potatoes and Yukon Gold potatoes are recommended because they hold their shape well during cooking. Russet potatoes can also be used, but their cooking time should be reduced to prevent them from falling apart.
Can I use frozen green beans?
Yes. Frozen green beans can be substituted for fresh green beans.
Can I make this stew without red wine?
Absolutely. Replace the red wine with additional beef broth. You won’t get quite the same depth of flavor, but it will still make a hearty and delicious stew.
Why are my meatballs tough?
The most common reason is overmixing the meatball mixture. Mix the ingredients gently and only until they are combined. Overworking the ground beef can produce dense, tough meatballs.
Can I freeze meatball stew?
Yes. Allow it to cool completely, transfer it to an airtight freezer-safe container, and freeze for up to 2–3 months. Thaw overnight in the refrigerator before reheating.
Recipe Details
- Yield: 6 servings
- Prep Time: 15 minutes
- Cook Time: 1 hour 5 minutes
- Total Time: 1 hour 20 minutes
- Cuisine: American
- Category: Comfort Food / Dinner
Nutrition Information
Per serving:
- Calories: 596 kcal
- Total Fat: 29g
- Saturated Fat: 9g
- Trans Fat: 1g
- Unsaturated Fat: 16g
- Cholesterol: 132mg
- Carbohydrates: 36g
- Fiber: 6g
- Sugar: 6g
- Protein: 41g
Final Thoughts
This Meatball Stew Recipe is the definition of cozy comfort food. Tender homemade beef meatballs, hearty potatoes, colorful vegetables, and a rich herb-infused broth come together for a satisfying dinner that’s full of homemade flavor.
Whether you simmer it on the stovetop, let the slow cooker do the work, or use the Instant Pot, it’s a wonderfully comforting meal that’s just as good the next day. Serve it with plenty of crusty bread, gather everyone around the table, and enjoy a bowl of pure comfort.
Print
Meatball Stew Recipe
- Total Time: 1 hour 20 minutes
- Yield: 6 servings
Description
This Meatball Stew Recipe is a fun and cozy comfort food your whole family will love. Tender homemade meatballs simmer with hearty vegetables, potatoes, mushrooms, green beans, and peas in a rich, flavorful broth for a satisfying one-pot meal.
Ingredients
- 1.5 pounds ground beef
- 2 tablespoons milk
- ½ cup bread crumbs
- 1 large egg
- 2 garlic cloves, minced
- 2 tablespoons fresh parsley, finely chopped
- 2 teaspoons dried Italian seasoning
- 1 teaspoon salt
- ½ teaspoon black pepper
- 3 tablespoons olive oil, divided
- ½ medium white onion, diced
- 2 celery stalks, diced
- 2 medium carrots, diced
- 8 oz mushrooms, sliced
- 4 garlic cloves, finely chopped
- ¼ cup all-purpose flour, or 2 tablespoons cornstarch for slow cooker or Instant Pot
- 2 tablespoons tomato paste
- 1 cup dry red wine
- 5 cups beef broth
- 2 sprigs fresh rosemary
- 1 tablespoon fresh thyme
- 1 dried bay leaf
- ¾ pound potatoes, peeled and cut into large chunks
- 1 cup fresh green beans
- 1 cup frozen peas
- Salt, to taste
- Black pepper, to taste
Instructions
- Stove Top Method: In a large bowl, combine all meatball ingredients until well combined. Do not overmix, or the meatballs can become hard. Roll the mixture into 20-25 equal-sized balls.
- Heat 2 tablespoons olive oil in a large Dutch oven or braiser over medium-high heat. Brown the meatballs on all sides, working in batches if necessary. Remove them to a plate.
- Reduce the heat to medium. Add the remaining tablespoon of olive oil if needed. Add the onion, carrots, celery, and mushrooms. Sauté until they begin to soften, about 5 minutes. Add the garlic and flour, mix well, and cook for 1 minute.
- Gradually add the wine, stirring to deglaze the pan and scrape up the browned bits from the bottom. Add the tomato paste and combine well. Simmer and reduce for 5 minutes.
- Add the beef broth, thyme, rosemary, bay leaf, and browned meatballs. Mix well. Increase the heat to medium-high and bring to a simmer, then reduce the heat to medium. Simmer for 15-20 minutes.
- Add the potatoes and cook for 25 minutes.
- Add the green beans and peas. Cook for about 5 additional minutes, or until the potatoes and green beans are cooked to your liking. Taste and adjust the salt and pepper.
- Remove from heat. Allow the stew to rest for 5-10 minutes before serving.
- Slow Cooker Method: Form and brown the meatballs as described above. Sauté the onion, celery, carrots, and mushrooms in the same pan, then transfer them to the slow cooker.
- Add the remaining stew ingredients except the cornstarch to the slow cooker. Mix well, then place the meatballs into the mixture.
- Cover and cook on low for 5-6 hours, or on high for 2-3 hours.
- When the stew has finished cooking, combine the cornstarch with ¼ cup cold water. Mix well, then slowly stir it into the stew. Cook uncovered for 5-10 minutes to thicken.
- Instant Pot Method: Form the meatballs as described above. Set the Instant Pot to Sauté mode. Add 2 tablespoons oil, then once hot, add the meatballs in batches and brown on all sides. Remove to a plate.
- Add additional oil if needed, then sauté the onion, celery, carrots, and mushrooms until they begin to soften. Add the flour and garlic, mix well, and cook for 1 minute. Turn off the Instant Pot.
- Add the remaining ingredients and stir well, making sure to scrape any browned bits from the bottom. Place the meatballs into the mixture.
- Add the lid, seal, and cook on high pressure for 30 minutes, followed by a natural pressure release.
- Combine the cornstarch with ¼ cup cold water. Mix well, then slowly stir it into the stew. Cook on Sauté mode for 5-10 minutes to thicken.
Notes
- If time allows, refrigerate the meatballs for 30 minutes before cooking.
- Waxier potatoes such as red or Yukon Gold hold together better. If using Russet potatoes, reduce the potato cooking time to 15 minutes.
- If you do not have fresh herbs, use 1 teaspoon each of dried thyme and rosemary.
- Frozen green beans can be used in place of fresh.
- Leftovers can be refrigerated for 3-4 days or frozen for 2-3 months. Thaw frozen stew overnight in the refrigerator and reheat on the stovetop over medium heat, adding a little extra water if needed.
- Prep Time: 15 minutes
- Cook Time: 1 hour 5 minutes
- Category: Dinner, Stew, Main Course
- Method: Stove Top, Slow Cooker, Instant Pot
- Cuisine: American