The Cozy Cook

Meatballs and Gravy

Tender meatballs are smothered in brown gravy with onions and served over creamy mashed potatoes. This is the ultimate comfort food that’s freezer-friendly and can be made ahead of time!

Be sure to serve this with my homemade Mashed Potatoes and Roasted Green Beans!

A white plate with a pile of mashed potatoes topped with meatballs and gravy with fresh rosemary on the side.

Meatballs and Gravy

Meatballs and gravy is definitely the ultimate comfort food, nothing hits the spot like meat and potatoes. Right!?

I’m always on the hunt for ground beef recipes that I know my family will love, and this one does the trick every time. I love that I can make the meatballs ahead of time, and that they’re also make-ahead and  freezer-friendly!

How to Make It

See recipe card below this post for ingredient quantities and full instructions.

Set olive oil aside. Mix remaining meatball ingredients and roll into 1 +1/2 inch balls. Brown in batches in a skillet with olive oil. 

Melt butter in the skillet and add the onions. Cook until softened and slightly caramelized.

Add the chicken broth, beef broth, onion powder, garlic powder, and Worcestershire sauce to the skillet.

Stir to combine. Bring to a boil and whisk in the cornstarch/water mixture. Reduce to a simmer. It will continue to thicken.

Add the meatballs back to the skillet and spoon with gravy heat for about 10 more minutes to allow the meatballs to cook through.

Top with fresh parsley and serve with mashed potatoes and roasted carrots.

Pro Tips For This Recipe

  • Don’t overwork the meat when you mix it, it will make the meatballs tough instead of nice and tender.
  • Refrigerate the meatballs for 15 minutes after rolling them to help them stay together during cooking.
  • Searing the meatballs creates a nice color and texture around the outside of the meatball, which is ideal for this recipe.
  • Don’t overcrowd the pan when  you brown the meatballs, browning in batches makes it easy to rotate them so that they can brown on all sides.
  • A nonstick skillet will help keep the meatballs from sticking to the pan and makes it easier to keep them intact when you flip them.

Make Ahead Method

  • The meatballs can be mixed up and rolled 1 day ahead of time. Store them in an airtight container in the fridge until ready to use.
  • You can also freeze the raw meatballs and let them thaw in the fridge overnight before you want to cook them. For this reason, I like to make a double batch of meatballs and freeze them for another day.


Store in an airtight container and refrigerate for up to 3 days, or freeze for up to 3 months.

A skillet with meatballs and gravy topped with fresh parsley.

Try These Next

Get My Free Meal Plan

I’ve got a Free Meal Plan with 7 of my super popular recipes (complete with grocery list)! Sign up for my email list and I’ll send it over now along with weekly dinner recipes!

And follow me on FacebookInstagram, and Pinterest!

Tried This Recipe?

Leave a review, I love hearing your feedback! ⭐⭐⭐⭐⭐

Meatballs and Gravy over mashed potatoes.

Meatballs and Gravy

4.98 from 44 ratings
Tender meatballs are smothered in brown gravy with onions and served over creamy mashed potatoes. This is the ultimate comfort food that's make-ahead and freezer friendly!



  • 3 Tablespoons Olive Oil
  • 1 ½ lbs. Ground Beef, 85% lean
  • ½ Yellow Onion, finely diced
  • ¼ cup Breadcrumbs, Plain or Italian
  • 2 cloves Garlic, minced
  • 1 large Egg
  • 1 Tablespoon Ketchup
  • 1 teaspoon Yellow Mustard
  • 1 teaspoon Worcestershire Sauce
  • ½ teaspoon Salt
  • ¼ teaspoon Pepper
  • 2 teaspoons Fresh Parsley, roughly chopped


  • 1 medium Yellow Onion, sliced into ½ inch strings
  • 1 Tablespoon Unsalted Butter
  • 1 cup Chicken Broth
  • 1 cup Beef Broth
  • 1 Beef Bouillon
  • 1 teaspoon Onion Powder
  • ½ teaspoon Garlic Powder
  • 1 ½ teaspoons Worcestershire Sauce
  • 2-3 drops Kitchen Bouquet browning and seasoning sauce, optional
  • 1/4 cup cold water + 3 tablespoons Corn Starch


  • Pro Tip: Refrigerate the meatballs for 15 minutes after rolling them to help them stay together during cooking.

Brown the Meatballs

  • Set olive oil aside and gently mix remaining meatball ingredients in a large bowl until just combined, don’t overmix or the meat will become tough. Roll into 1+1/2 inch meatballs.
  • Heat olive oil in a large nonstick skillet over medium heat. Brown 5-6 meatballs at a time for about 2 minutes on each side. (Leave extra room around each so that you can easily roll them over to cook on the reverse side.) Remove and set aside on a plate. Repeat for all meatballs.
  • Reduce heat to medium. Add any oil/drippings from the meatball plate back to the pan and melt a Tablespoon of butter. Add the sliced onions and let them soften and even caramelize a bit, about 15 minutes. Stir often.

Prepare the Gravy

  • Add the chicken broth, beef broth, beef bouillon, onion powder, garlic powder, and Worcestershire sauce to the skillet. Stir to combine.
  • Use a silicone spatula to work any brown bits on the bottom of the pan into the sauce. If a darker color is desired, add 2-3 drops of Kitchen Bouquet browning and seasoning sauce.
  • Combine the cold water and corn starch in a small Tupperware with a lid. Shake to combine.
  • Bring gravy to a boil. Whisk in cornstarch mixture. Decrease to medium low. Continue to whisk to ensure that it blends in smoothly.

Add the Meatballs

  • Add the meatballs back to the skillet and heat for about 10 minutes to allow the meatballs to finish cooking through. Garnish with parsley and serve over mashed potatoes.


This recipe  makes about 24-27 meatballs and 6 servings. Nutrition information is per serving.


Calories: 307kcal, Carbohydrates: 13g, Protein: 27g, Fat: 16g, Saturated Fat: 5g, Polyunsaturated Fat: 1g, Monounsaturated Fat: 8g, Trans Fat: 1g, Cholesterol: 103mg, Sodium: 664mg, Potassium: 546mg, Fiber: 1g, Sugar: 2g, Vitamin A: 118IU, Vitamin C: 6mg, Calcium: 42mg, Iron: 4mg

Leave a Comment & Rate this Recipe

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

Click the Stars to Rate This Recipe

127 comments on “Meatballs and Gravy”

  1. I can’t believe how good these meatballs were. They were the most tender meatballs I’ve ever had. The only change I made was grating the onion and using a zester for the garlic, instead of chopping. The dish was absolutely fantastic!

    • Woohooooo! I’m so happy to hear these are the most tender meatballs you’ve ever had! I take my meatball making very seriously lol. Thanks so much for the great comments and review!💖

  2. I will be trying these meatballs soon. They sound delicious. I will let you know how they turnout I am sure they will be good. Thank you so very much.

  3. Absolutely delicious. Thank you 

  4. Omg!!! I love this recipe. It was Delicious!!!
    I will learn this recipe until I need not to look at the instructions to make it. I loved it and my family loved it. Thank you Thank-you for sharing! 💓😊

    • I am so happy to hear that Selia! This is always a huge hit in our house too and I officially don’t need the instructions anymore, you’ll be there before you know it, haha! Thank you so much for taking the time to leave a review! -Stephanie

  5. Didn’t have any Browning sauce, so used marimite instead, worked great. Although I’m going to use flour next time.

  6. Fantastic recipe.  I used frozen meatballs from Sam’s.  Put them in a deep skillet for about an hour to thaw a bit.  I then just drizzled some olive oil and tablespoon of butter and threw in the onions.  Once onions softened I added gravy ingredients and cooked about 20 mins.  Then added cornstarch slurry.  Swirled it around and cooked another 5 mins or so.   Quick, easy, really good.

    • Sounds like you nailed it, great job!❤️ I’ve had the meatballs from Sam’s and they are yummy. Thanks so much for taking the time to comment and leave a review!

  7. Super delicious. First time I made a gravy too and I was surprised how good it was. Only needed about half the cornflour mix. Pour it in the outside edges of the pan to prevent it going too thick in the middle.
    I used OXO stock cubes and browning liquid not necessary

  8. Made these tonight for dinner. My family loved them. Gravy was very flavorful. My only comment would be to finely dice the onion so the meatball doesn’t separate. Otherwise its a keeper.

  9. Hey Stephanie! Sorry to ask a question (not review yet!) but is there anything to replace browning sauce? We don’t seem to have anything like that in Australia 🙁 and I don’t even know what it tastes like to think of a substitute. Thank you so much! We love all your recipes ☺️ 

    • Hi Ida! I would just skip it, it’s optional and only makes the gravy a little bit darker in color. I don’t notice a taste difference at all when I add a few drops!

  10. Made this today and added baby Bella mushrooms that I cooked down first and added to the gravy it was delicious ! 

As Seen On…