This post may contain affiliate links. Please read our disclosure policy.

This simple meatballs and gravy recipe is the definition of comfort food! There’s nothing quite like homemade meatballs with a flavorful, cozy, and easy gravy.

You may also enjoy my Smothered Pork Chops and Gravy or Easy Chicken and Gravy next.

a bowl with meatballs and gravy over mashed potatoes with a fork

Why you’ll love it

This meatball recipe was inspired by my popular (and very tasty) Swedish Meatballs, but this one is a little bit simplified. We’ve got tender, juicy meatballs that are smothered with a rich and buttery gravy that’s seasoned with sage and other everyday ingredients. No one can resist it!

I always think of making meatballs as a labor of love. It’s relaxing rolling meatballs out. When you’re in a cooking mood where you want to spend a little extra time in the kitchen, this straightforward meatballs with gravy recipe is ideal. Both adults and kids will adore it!

What you’ll need

For the meatballs

  • Ground pork and ground beef – we’re using a 50/50 mixture
  • Egg and Italian breadcrumbs – to make a panade, what binds together the meatballs
  • Garlic powder – along with salt & pepper, it infuses more flavor
  • Olive oil – for pan frying

For the gravy

  • Butter and flour – to make a quick roux
  • Beef broth and Worcestershire sauce – for depth of flavor
  • Onion powder and ground sage – these are standard components of gravy to enhance the flavor even more
ingredients for meatballs and gravy in prep bowls

Tools for this recipe

Check out Natasha’s favorite kitchen essentials, gadgets, and cookware!

  • I like this cooking spoon for making the sauce.
  • This butter dish has markings so you can always precisely measure out butter.
  • I use my trusty Le Creuset Dutch oven for this one.

How to make meatballs and gravy

This is an overview with step-by-step photos. Full ingredients & instructions are in the recipe card below.

mixing meatballs in a prep bowl and pan frying in a dutch oven

Add the meatball ingredients (minus the oil) to a bowl. Mix together with your hands, then form about 25 meatballs. Place on parchment paper. Heat up the oil in a deep skillet or Dutch oven, then pan fry the meatballs, working in two batches, until browned. Transfer to a plate.

making a roux in a dutch oven for meatballs and gravy and whisking in beef broth

Drain most of the fat, leaving behind the browned bits since they add flavor. Melt in the butter, then add the flour and stir to make a quick roux. Once golden, whisk in the beef broth until the flour dissolves in fully.

whisking in seasonings to make a gravy and adding meatballs to the dutch oven

Stir in the Worcestershire, onion powder, and sage. Return the meatballs, and simmer until they’re fully cooked through and the gravy thickens up. Season with salt & pepper, and top with chopped fresh parsley if desired.

Helpful tips

  • To prevent the meatballs from sticking when you try to turn them, ensure the pan is properly pre-heated before adding them, and also give them time to naturally release.
  • The color of your gravy may be lighter or darker than the photos depending on how deep of a sear you get on the meatballs, so how much browned bits (fond) end up being incorporated into the sauce.
  • Not sure when your roux is done? Follow your nose! It’ll smell nice and nutty and be a golden color.

Substitutions and variations

  • I love the mix of beef and pork, but feel free to use all beef or even swap for something like ground turkey if you prefer.
  • You can swap the Italian breadcrumbs with panko if you prefer.
  • I love to add a little Tony’s Creole seasoning to my bowl for a little kick. You could even replace the salt in the meatballs with it.

What to serve with meatballs and gravy

Leftovers and storage

  • Leftover meatballs and gravy will keep in an airtight container for 3-4 days in the fridge.
  • Reheat slowly over a low heat in a covered saucepan or in the microwave.
  • These meatballs are good frozen for 3 months. Try freezing in individual portions.
closeup of a skillet with meatballs in gravy and a serving spoon

If you made this gravy and meatballs recipe, please leave a star rating and review below! I’d love to hear from you. You can also tag me #saltandlavender on Instagram.

a bowl with meatballs and gravy over mashed potatoes with a fork
5 from 27 votes

Meatballs and Gravy

This simple meatballs and gravy recipe is the definition of comfort food! There's nothing quite like homemade meatballs with a flavorful, cozy, and easy gravy.
Prep: 20 minutes
Cook: 25 minutes
Total: 45 minutes
Servings: 6

Ingredients 

Meatballs:

  • 1 pound ground beef
  • 1 pound ground pork
  • 1 large egg
  • 1/2 cup Italian seasoned breadcrumbs
  • 1 teaspoon salt
  • 1/2 teaspoon garlic powder
  • Pepper to taste
  • 2 tablespoons olive oil (for frying)

Sauce:

  • 1/4 cup butter (1/2 stick)
  • 1/3 cup flour
  • 3 cups beef broth
  • 1 tablespoon Worcestershire sauce
  • 1/2 teaspoon onion powder
  • 1/4 teaspoon ground sage
  • 1 tablespoon chopped fresh parsley optional

Instructions 

  • Add all the meatball ingredients (except for the olive oil) to a fairly large prep bowl. Using your hands, mix it together and then form 1 ¼ – 1 ½-inch meatballs (use about 2 ½ tbsp meat/meatball and it'll make approx. 25-30 meatballs). Place the meatballs on a parchment-lined baking sheet for easy clean-up (or use a couple of plates).
  • Add the olive oil to a large and deep skillet or a Dutch oven/pot and let it heat up for a few minutes over medium-high heat. Fry the meatballs in two batches until all sides are browned (about 5-7 minutes/batch). It's easiest to turn the meatballs with tongs. You may need to add a splash more oil for the second batch. Transfer meatballs to a plate.
  • Pour out most of the fat from the skillet, but keep the browned bits in for extra flavor (don't wipe it out).
  • Reduce the heat to medium and add the butter to the skillet. Once it’s melted, stir in the flour and cook, stirring often, for a few minutes until the roux starts to turn golden.
  • Slowly whisk the beef broth in, and ensure the flour has dissolved into the sauce.
  • Whisk in the Worcestershire sauce, onion powder, and ground sage.
  • Add the meatballs back to the pan and cook for about 10 minutes or until the meatballs are cooked through and the gravy thickens to your liking.
  • Season with extra salt & pepper as needed. Sprinkle with fresh parsley if using and serve immediately.

Nutrition

Calories: 608kcal, Carbohydrates: 13g, Protein: 30g, Fat: 47g, Saturated Fat: 18g, Polyunsaturated Fat: 3g, Monounsaturated Fat: 21g, Trans Fat: 1g, Cholesterol: 160mg, Sodium: 1171mg, Potassium: 561mg, Fiber: 1g, Sugar: 1g, Vitamin A: 365IU, Vitamin C: 2mg, Calcium: 63mg, Iron: 4mg

Nutrition information is automatically calculated, so should only be used as an approximation.

© Salt & Lavender Inc. Content and photographs are copyrighted. Sharing this blog post is much appreciated, but copying and pasting full recipes without authorization to social media is strictly prohibited.

Leave a star rating and comment below!

Hi! Iโ€™m Natasha.

Salt & Lavender is a recipe blog with a focus on delicious comfort food using everyday ingredients. Beat the weekday grind with hundreds of easy-to-follow and hassle-free recipes!

The Salt & Lavender cookbook is here! Order Now

5 from 27 votes (6 ratings without comment)

Leave a comment

Please leave a recipe rating!

Your email address will not be published. Required fields are marked *

Recipe Rating




This site uses Akismet to reduce spam. Learn how your comment data is processed.

48 Comments

  1. The hopeless cook says:

    5 stars
    We use your recipes often thank you for making them! I can actually make these really good!

    1. Natasha says:

      That’s great to hear!! ๐Ÿ˜€ Thank you for your review and for coming back and trying more of my recipes! XO

  2. Hilliary says:

    5 stars
    My family loves this recipe! My boys are some of the world’s pickiest eaters, and they love these meatballs and gravy. I have made them a few times now, and made them again with the help of my youngest tonight. This recipe makes it’s way in the dinner rotation frequently now.

    1. Natasha says:

      That’s amazing!! Thanks for letting me know!

  3. Margs says:

    5 stars
    Forgot to put the star rating on before. Definitely 5 stars!

    1. Natasha says:

      I appreciate it!! XO

  4. Margs says:

    Made these meatballs recently and the whole family loved them. I had them with mash and green beans. I am making them again tonight. Really easy to follow recipe and very tasty

    1. Natasha says:

      That’s great to hear!! Thanks, Margs!

  5. Morgan says:

    5 stars
    This is like the 4th thing of yours I’ve made this week; absolutely delicious!! I made the meatballs with ground turkey and ground chicken because that’s what I had on hand. I added a touch more Worcestershire/sage/onion powder because I typically like a lot of seasoning, and it was soooooooooo amazing. Served it over mashed potatoes, delicious! Thank you so much!!

    1. Natasha says:

      I love that!! ๐Ÿ˜€ Thank you, Morgan!!

  6. Eileen Patterson says:

    5 stars
    Great recipe!

    1. Natasha says:

      Thank you, Eileen!

  7. Kathy says:

    5 stars
    So delicious. Made this for the first time tonight and it was a huge hit!! Will definitely be making it again!!!

    1. Natasha says:

      I love to hear that!! ๐Ÿ˜€ Appreciate your review, Kathy!

  8. Katrina Gutierrez says:

    5 stars
    My family loves this recipe. It’s so tasty. I serve it either with mashed potatoes or wide egg noodles. Thank you so much!

    1. Natasha says:

      You’re very welcome, Katrina!! Thanks for your review! ๐Ÿ˜€

  9. Jen says:

    5 stars
    Made this for the second time tonight and itโ€™s just as good as I remember. The gravy is simply phenomenal! And so easy! Will keep this in a regular rotation when comfort food is needed!

    1. Natasha says:

      Thank you so much, Jen!! ๐Ÿ˜€

  10. Bryan says:

    5 stars
    This recipe was so easy and so so delicious ๐Ÿ˜‹

    1. Natasha says:

      Thank you so much, Bryan!