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.
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
How to make meatballs and gravy
This is an overview with step-by-step photos. Full ingredients & instructions are in the recipe card below.
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.
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.
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.
- 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
- You’re going to want a big pile of Garlic Mashed Potatoes, rice, or Buttered Noodles for all that irresistible gravy!
- My Easy Glazed Carrots, steamed broccoli or broccolini, Easy Roasted Asparagus (with parmesan), or Easy Roasted Cauliflower would be great veggie sides.
- Round out the meal with my Parmesan Arugula Salad and a slice of fresh crusty bread.
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.
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.
Meatballs and Gravy
- 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)
- 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
- 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 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.