There are some dinners that just wrap you in a hug, and these meatballs with mushroom gravy are exactly that. I remember the first time I made them for my kids—the kitchen smelled like Sunday supper, and even my pickiest eater asked for seconds. It's one of those meals that feels fancy but is secretly simple to pull together on a busy weeknight.
Advertisements1
The meatballs are tender and flavorful, thanks to a mix of ground beef and pork, and they get even better as they soak up all that savory mushroom gravy. The gravy is silky, earthy, and just creamy enough to coat every bite. Serve it over egg noodles, mashed potatoes, or rice, and you've got a dinner that feels like a warm hug on a plate.
I love that this recipe comes together in about 45 minutes, and it's made with ingredients you probably already have in your pantry. It's the kind of meal that makes you feel like a superhero parent—even on days when you're running on fumes.
Why You'll Love This Recipe
About the Ingredients
1 lb (450g) ground beef
Use 80/20 for juicy meatballs. If you prefer leaner, go with 90/10 but add a tablespoon of olive oil to the mixture.
1/2 lb (225g) ground pork
Pork adds moisture and flavor. Swap with ground turkey or chicken for a lighter version.
1/2 cup (50g) breadcrumbs
Panko works great. For gluten-free, use rolled oats or crushed crackers.
1/4 cup (25g) grated Parmesan cheese
Freshly grated melts better. For a dairy-free option, use nutritional yeast.
1 large egg
Binds the meatballs. For an egg-free version, use 1/4 cup applesauce.
2 cloves garlic, minced
Fresh garlic is best. In a pinch, use 1/2 teaspoon garlic powder.
1/2 teaspoon salt
Adjust to taste. Sea salt or kosher salt both work.
1/4 teaspoon black pepper
Freshly ground gives better flavor.
2 tablespoons olive oil
For browning. Avocado oil is a good substitute.
8 oz (225g) cremini mushrooms, sliced
Cremini (baby bella) have great flavor. White button mushrooms also work, or a mix.
1 small onion, diced
Yellow or sweet onion. Shallots are a nice substitute.
2 tablespoons all-purpose flour
Thickens the gravy. For gluten-free, use cornstarch or a GF flour blend.
2 cups (480ml) beef broth
Low-sodium is best so you can control salt. Chicken or vegetable broth also work.
1 cup (240ml) heavy cream
For richness. Use half-and-half for a lighter version, or canned coconut milk for dairy-free.
1 teaspoon Worcestershire sauce
Adds depth. Soy sauce or tamari is a good substitute.
1 tablespoon fresh parsley, chopped (for garnish)
Optional but nice. Dried parsley works too.
Tips & Tricks
- Don't overmix the meatball mixture—just combine until everything is evenly distributed. Overmixing makes meatballs tough.
- Use a cookie scoop for uniform meatballs so they cook evenly. Or wet your hands with water to prevent sticking.
- Brown the meatballs in batches, not all at once, to get a nice crust without steaming. Don't crowd the pan.
- If the gravy is too thick, add a splash of broth; if too thin, simmer a few more minutes to reduce.
Pro Tips
Step-by-Step Instructions
1. Mix the meatballs
In a large bowl, combine ground beef, ground pork, breadcrumbs, Parmesan, egg, garlic, salt, and pepper. Mix gently with your hands until just combined. Do not overmix.
2. Form the meatballs
Roll the mixture into 1.5-inch (4 cm) meatballs. You should get about 18-20 meatballs. Place them on a plate.
3. Brown the meatballs
Heat olive oil in a large skillet over medium-high heat (375°F / 190°C). Add meatballs in a single layer, making sure not to overcrowd. Cook for 2-3 minutes per side until browned on all sides. The internal temperature should reach 160°F (71°C). Transfer to a plate and set aside.
4. Sauté the aromatics
In the same skillet, add mushrooms and onion. Cook over medium heat (350°F / 175°C) for 5-7 minutes, stirring occasionally, until mushrooms are golden brown and onions are translucent. Scrape up any browned bits from the bottom.
5. Make the roux
Sprinkle flour over the mushrooms and onion. Stir constantly for 1-2 minutes until the flour is fully incorporated and golden, which thickens the gravy.
6. Add the liquids
Slowly pour in the beef broth while stirring to avoid lumps. Add the Worcestershire sauce. Bring to a simmer over medium heat (375°F / 190°C) and cook for 3-4 minutes until slightly thickened.
7. Finish the gravy
Reduce heat to low (250°F / 120°C) and stir in the heavy cream. Simmer gently for 2-3 minutes until the gravy is creamy and coats the back of a spoon. Do not boil or the cream may curdle.
8. Simmer the meatballs
Return the meatballs to the skillet, spooning gravy over them. Cover and simmer on low (250°F / 120°C) for 10-12 minutes, until meatballs are cooked through and have absorbed some flavor. Internal temperature should be 165°F (74°C).
9. Garnish and serve
Sprinkle with fresh parsley and serve over egg noodles, mashed potatoes, or rice. Enjoy the cozy comfort!
Delicious Variations
Make it spicy
Add 1/2 teaspoon red pepper flakes to the meatball mixture or a dash of hot sauce to the gravy.
Add veggies
Stir in a handful of baby spinach or peas during the last 5 minutes of simmering.
Use different meat
Try ground turkey instead of pork, or use all beef for a richer flavor.
How to Store Meatballs With Mushroom Gravy
Refrigerator
Store in an airtight container for up to 4 days.
Freezer
Freeze in a freezer-safe container for up to 3 months. Thaw overnight in the fridge.
Reheating
Reheat gently on the stove over low heat, adding a splash of broth or cream if needed.
Frequently Asked Questions
Q: Can I make this ahead of time?
Yes, you can prepare the meatballs and gravy up to 2 days ahead. Store them separately in the fridge, then reheat gently on the stove before serving.
Q: Can I use frozen meatballs?
Yes, you can use frozen meatballs. Thaw them first, then brown them as directed, or simmer them in the gravy for 15-20 minutes until heated through.
Q: How do I make the gravy thicker?
If your gravy is too thin, mix 1 tablespoon of cornstarch with 2 tablespoons of cold water and stir into the simmering gravy until thickened.
Q: What can I substitute for heavy cream?
You can use half-and-half or whole milk, but the gravy will be lighter. For dairy-free, use canned coconut milk or unsweetened cashew cream.
I hope this meatballs with mushroom gravy becomes a favorite in your home like it is in mine. It's the perfect meal to bring everyone to the table. If you make it, I'd love to hear how it turns out! Share your creations in the comments below. Breathe, play, connect.
Meatballs With Mushroom Gravy
Juicy homemade meatballs simmered in a rich, creamy mushroom gravy—comfort food the whole family will love.
🧂 Ingredients
- 1 lb (450g) ground beef
- 1/2 lb (225g) ground pork
- 1/2 cup (50g) breadcrumbs
- 1/4 cup (25g) grated Parmesan cheese
- 1 large egg
- 2 cloves garlic, minced
- 1/2 teaspoon salt
- 1/4 teaspoon black pepper
- 2 tablespoons olive oil
- 8 oz (225g) cremini mushrooms, sliced
- 1 small onion, diced
- 2 tablespoons all-purpose flour
- 2 cups (480ml) beef broth
- 1 cup (240ml) heavy cream
- 1 teaspoon Worcestershire sauce
- 1 tablespoon fresh parsley, chopped (for garnish)
📋 Instructions
- 1Mix the meatballs — In a large bowl, combine ground beef, ground pork, breadcrumbs, Parmesan, egg, garlic, salt, and pepper. Mix gently with your hands until just combined. Do not overmix.
- 2Form the meatballs — Roll the mixture into 1.5-inch (4 cm) meatballs. You should get about 18-20 meatballs. Place them on a plate.
- 3Brown the meatballs — Heat olive oil in a large skillet over medium-high heat (375°F / 190°C). Add meatballs in a single layer, making sure not to overcrowd. Cook for 2-3 minutes per side until browned on all sides. The internal temperature should reach 160°F (71°C). Transfer to a plate and set aside.
- 4Sauté the aromatics — In the same skillet, add mushrooms and onion. Cook over medium heat (350°F / 175°C) for 5-7 minutes, stirring occasionally, until mushrooms are golden brown and onions are translucent. Scrape up any browned bits from the bottom.
- 5Make the roux — Sprinkle flour over the mushrooms and onion. Stir constantly for 1-2 minutes until the flour is fully incorporated and golden, which thickens the gravy.
- 6Add the liquids — Slowly pour in the beef broth while stirring to avoid lumps. Add the Worcestershire sauce. Bring to a simmer over medium heat (375°F / 190°C) and cook for 3-4 minutes until slightly thickened.
- 7Finish the gravy — Reduce heat to low (250°F / 120°C) and stir in the heavy cream. Simmer gently for 2-3 minutes until the gravy is creamy and coats the back of a spoon. Do not boil or the cream may curdle.
- 8Simmer the meatballs — Return the meatballs to the skillet, spooning gravy over them. Cover and simmer on low (250°F / 120°C) for 10-12 minutes, until meatballs are cooked through and have absorbed some flavor. Internal temperature should be 165°F (74°C).
- 9Garnish and serve — Sprinkle with fresh parsley and serve over egg noodles, mashed potatoes, or rice. Enjoy the cozy comfort!



