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.
  • This recipe is in The Cozy Cookbook on page 81!

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.

Storage

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 E-Book! 

Tried This Recipe?

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

Meatballs and Gravy over mashed potatoes.

Meatballs and Gravy

4.99 from 151 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!

Ingredients

Meatball Ingredients

  • 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

Gravy

  • 1 medium Yellow Onion, sliced into ½ inch strings
  • 1 Tablespoon Unsalted Butter
  • 1 cup Chicken Broth
  • 1 cup Beef Broth
  • 1 Beef Bouillon Cube, or 1 tsp Better than 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

Instructions

Brown the Meatballs/Cook the Onions

  • 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. Pro Tip: Refrigerate the meatballs for 15 minutes after rolling them to help them stay together during cooking.
  • 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. Repeat for all meatballs.
  • Reduce heat to medium and melt tablespoon of butter. Add the sliced onions and let them soften and even caramelize a bit, about 15 minutes. Stir often.

Make 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. Optional: add 2-3 drops of Kitchen Bouquet browning and seasoning sauce if a darker color is desired.
  • Combine the corn starch and cold water in a small Tupperware with a lid. Shake to combine.
  • Bring gravy to a boil. Slowly whisk in cornstarch mixture until desired thickness is obtained. 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 spoon the sauce on top. Heat for about 10 minutes to allow the meatballs to finish cooking through. Garnish with parsley and serve over mashed potatoes.

Notes

Pro Tips:
  • 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.
  • This recipe is in The Cozy Cookbook on page 81!
  • This recipe  makes about 24-27 meatballs and 6 servings. Nutrition information is per serving.
  • The internal temp of meatballs should be 160 degrees F. 

Nutrition

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
Did you try this recipe?Mention @TheCozyCook on Instagram or tag #thecozycook!