My recipe for meatballs and gravy is so comforting, featuring savory, tender meatballs and a rich, creamy gravy! I use onion soup mix as the secret ingredient in both the meatballs and the sauce to give them the best flavor.

This post may contain affiliate links. If you click on a link and make a purchase, I may receive a small commission at no extra cost to you. For more information, please read my disclaimer.
My Family Favorite Meatballs and Gravy Recipe
Meatballs and gravy is an old fashioned recipe that I come back to time and time again. My kids, Connor and Leah, practically grew up eating this dish, but they never seem to get bored when it’s back on the menu. I mean, it’s pure comfort food!
My favorite part about my recipe is the fact that it comes together in just one pan. It helps me keep the cooking process simple, while guaranteeing a quick and easy cleanup too.
The key ingredient that makes both the meatballs and brown gravy stand out is onion soup mix. I only use a little bit in my recipe, but the concentrated flavor means that little bit goes a long way!
Looking for more meatball recipes? Be sure to check out my meatballs without breadcrumbs, BBQ grape jelly meatballs, and air fryer meatballs!

Meatball Gravy Recipe Ingredients
- Ground beef – 80/20 ground beef is my favorite for my recipe, but 85/15 also works well if preferred.
- Onion – Provides moisture and tenderness while also enhancing the dish with natural sweetness.
- Egg – Binds the meat together.
- Onion soup mix – Infuses savory flavor into both the meatballs and gravy.
- Butter – For a rich and flavorful gravy. I like to use unsalted butter since other ingredients like beef broth already contain plenty of salt.
- All-purpose flour – To help thicken the gravy and give it the perfect consistency.
- Beef broth – Adds savory, beefy flavor to the gravy sauce. I use store-bought, but homemade could be used too!
How to Make Meatballs and Gravy
A full printable version of this recipe with ingredient measurements is available at the bottom of this post.
STEP ONE: Combine the ground beef, onion, egg, and onion soup mix in a large bowl, then mix gently until it’s just combined.

STEP TWO: Form the mixture into meatballs about 1½ inches in diameter. Set them aside on a plate.

STEP THREE: Heat a large skillet over medium heat and cook the meatballs for about 5 to 6 minutes, until all sides are browned. Remove the meatballs and drain any excess grease.
STEP FOUR: In the same skillet, melt butter and add flour to create a roux. Gradually whisk in the beef broth, then the onion soup mix, and simmer until the mixture has thickened.


STEP FIVE: Return the meatballs to the skillet, spooning gravy over the top. Cover and simmer for 5 to 7 minutes until the meatballs are cooked through.

Tips for the Best Meatballs and Brown Gravy
- Avoid overmixing the meatballs. Be sure to combine the meatball ingredients gently, as overmixing them will cause them to turn out tough.
- Chilling the meatballs for 10 minutes after forming them is my secret to keeping them together and helping them brown up nicely.
- Cook in batches if necessary. Overcrowding the pan will make it difficult to achieve the desired browning.
- I use a meat thermometer to check if the meatballs have reached a safe internal temperature of 165 degrees F. It’s easy to use and takes away any need for guessing!
- Whisk in the broth gradually when making the roux. This is my top tip for a smooth gravy without lumps.
Meatballs in Gravy Variations and Substitutions
- If ground beef is unavailable, ground turkey or chicken make the best substitutes. Since both are leaner than beef, adding breadcrumbs soaked in milk may be necessary to ensure the meatballs stay moist.
- When I don’t have onion soup on hand, I use a homemade blend of ingredients, including dried minced onion, onion powder, parsley, and celery seed.
- Chicken broth is the best swap for beef broth in this recipe. The overall flavor will be a bit lighter but still turn out rich and savory.
- For a deeper flavor, I add in fresh herbs like parsley, dill, or thyme.
- My favorite way to add some heat is by adding a dash of cayenne pepper. It’s subtle but makes a huge difference!
What to Serve with Meatballs
My flavorful meatballs taste delicious with simple side dishes like air fryer rice or mashed potatoes. My kids love to eat these meatballs on top of plain pasta. It makes sense, since egg noodles are a popular base for meatballs and gravy!

Meatballs and Gravy FAQs
Can I make my meatballs and gravy recipe ahead of time?
Yes! The meatballs can either be cooked in advance, or the raw meat can be prepared and stored in the refrigerator or freezer. Gravy is easy to make ahead of time and simply reheat later. If preparing in advance, I recommend storing the gravy and meatballs separately to keep them fresh.
How should I store leftovers?
Stored in an airtight container, leftover meatballs with gravy can be refrigerated for up to 4 days. For longer storage, I transfer them to a freezer-safe bag and pop them in the freezer. When frozen, they are best enjoyed within 3 months.
How do I reheat leftover meatballs and brown gravy?
If reheating from frozen, allow the leftovers to thaw overnight in the refrigerator before reheating. My favorite way to reheat these meatballs without drying them out is on the stovetop. I simmer them with the gravy over low heat until warmed through, adding a splash of water or broth as needed to bring back moisture.

More Easy Comfort Food Recipes
- Stovetop mac and cheese
- Air fryer pot pie
- Crack chicken
- Hamburger steak
- Easy meatloaf recipe
- Pulled pork nachos

Easy Meatballs and Gravy
Ingredients
For the meatballs:
- 2 pounds ground beef
- ½ cup diced onion
- 1 large egg
- 2 tablespoons onion soup mix from a 1-ounce packet
For the gravy:
- 2 tablespoons butter plus 1 tablespoon more if using very lean beef
- 2 tablespoons all-purpose flour
- 2 cups beef broth low-sodium, if desired
- 1 tablespoons onion soup mix from a 1-ounce packet
Instructions
- In a large bowl, combine the ground beef, onion, egg, and onion soup mix. Mix them all gently until they are just combined.
- Form the mixture into meatballs about 1½ inches in diameter (roughly 40g each) and place them on a plate.
- Heat a large skillet over medium heat. Add one tablespoon of butter if your beef is very lean, then cook the meatballs on all sides about 5-6 minutes total.
- Drain any excess fat, then remove the meatballs from the skillet and set them aside.
- In the same skillet, melt 2 tablespoons of butter over medium heat. Stir in the flour to make a roux. Cook the roux for 2–3 minutes, whisking constantly until it's bubbly and a medium golden-brown.
- Gradually whisk in the beef broth, scraping up any browned bits from the pan. Add the tablespoon of onion soup mix and stir to combine. Simmer over low heat until the gravy thickens, about 3–4 minutes.
- Return the meatballs to the skillet, spooning the gravy over them. Cover them and simmer for 5–7 minutes until the meatballs are cooked through (internal temp 165 degrees F).
- Serve the meatballs and gravy over mashed potatoes, rice, or egg noodles.
Notes
- Avoid overmixing the meatballs, or they will turn out tough.
- Chilling the meatballs for 10 minutes after forming them keeps them together and helps them brown up nicely.
- Cook in batches if necessary. Overcrowding the pan will make it difficult to achieve the desired browning.
- Use a meat thermometer to check if the meatballs have reached a safe internal temperature of 165 degrees F.
- Whisk in the broth gradually when making the roux for a smooth gravy without lumps.
- Store leftovers in an airtight container in the fridge for up to 4 days.
Nutrition
This nutrition information is based on the exact products I used in this recipe. Brands and sizes of products could alter exact nutrition and should always be calculated independently.

I have frozen premade meatballs. Will this recipe work with those?
Hi Barbara, Sure! I prefer to make my homemade meatballs because they have a nice flavor that works well with the gravy, but you can follow the recipe for the gravy and you will get a similar result. Enjoy!