These Meatballs with Onion Gravy are a cozy, satisfying dish perfect for any night of the week. Juicy, tender beef meatballs are pan-seared until golden and then smothered in a rich, savory onion gravy that’s just begging to be poured over a mound of mashed potatoes. It’s comfort food at its finest.
Why You’ll Love This Recipe
If you’re craving hearty, homemade flavor without a complicated process, this is the recipe for you. It’s easy enough for weeknights but delicious enough to serve guests.
-
Juicy, well-seasoned meatballs with a perfect sear
-
Rich onion gravy made in the same pan for maximum flavor
-
Pairs beautifully with mashed potatoes or egg noodles
-
Classic, family-friendly comfort food
-
Can be made ahead and reheated easily
Ingredients
(Tip: You’ll find the full list of ingredients and measurements in the recipe card below.)
For the Meatballs:
-
½ tablespoon oil
-
½ cup yellow onions, diced small
-
1 teaspoon garlic, chopped
-
2 lb ground beef (80/20 or leaner)
-
¼ cup plain bread crumbs
-
1 egg
-
1 tablespoon Dijon mustard
-
1 teaspoon Worcestershire sauce
-
1 teaspoon salt
-
½ teaspoon black pepper
-
½ teaspoon dried thyme leaves
-
1 teaspoon chopped fresh parsley
-
4 tablespoons vegetable oil (for frying)
For the Onion Gravy:
-
2 tablespoons butter
-
1 cup yellow onion, sliced
-
1 tablespoon garlic, minced
-
3 tablespoons all-purpose flour
-
¼ teaspoon kosher salt
-
½ teaspoon black pepper
-
4 cups beef broth
-
1 teaspoon Worcestershire sauce
Directions
-
Sauté Aromatics:
In a small skillet, heat ½ tablespoon of oil over medium heat. Add diced onions and chopped garlic. Cook for 2–3 minutes until onions are translucent. Let cool for 5 minutes. -
Make the Meatball Mixture:
In a large bowl, combine ground beef, breadcrumbs, egg, Dijon, Worcestershire, salt, pepper, thyme, parsley, and the cooled onion mixture. Mix gently until just combined—don’t overwork the meat. -
Form and Chill Meatballs:
Use a 1.5-tablespoon scoop to portion meatballs. Roll into smooth balls with your hands and place on a tray. Cover and refrigerate for 15–20 minutes to help them hold their shape. -
Cook the Meatballs:
In a large skillet, heat 4 tablespoons of vegetable oil over medium heat. Cook meatballs in batches for 5–7 minutes, turning to brown on all sides. Remove from skillet and keep warm, covered in foil. -
Make the Onion Gravy:
In the same skillet, melt butter. Add sliced onions and cook over medium heat for 8–10 minutes until softened and lightly golden. Stir in garlic and cook for another 2 minutes. -
Create the Gravy Base:
Sprinkle in flour, salt, and pepper. Stir and cook for 1–2 minutes to form a roux. Slowly whisk in beef broth and Worcestershire sauce. Bring to a gentle simmer, stirring until thickened. -
Add Meatballs to Gravy:
Return meatballs to the skillet, nestling them into the gravy. Simmer for 5–10 minutes to warm through and meld flavors. -
Serve:
Serve hot over mashed potatoes, rice, or buttered noodles. Spoon extra onion gravy over top and garnish with more parsley if desired.
Servings and timing
-
Servings: 6
-
Prep time: 15 minutes
-
Cook time: 20 minutes
-
Total time: 35 minutes
Variations
-
Make it turkey: Use ground turkey instead of beef for a lighter option.
-
Add cheese: Stir in grated Parmesan to the meatball mixture for extra richness.
-
Spicy twist: Add crushed red pepper or smoked paprika for a hint of heat.
-
Creamy version: Add a splash of cream to the gravy for a creamier texture.
-
Low-carb: Replace breadcrumbs with almond flour or omit them entirely.
Storage/Reheating
-
Refrigerator: Store meatballs and gravy in an airtight container for up to 4 days.
-
Freezer: Freeze meatballs and gravy separately or together for up to 3 months. Thaw in the fridge overnight.
-
Reheating: Warm gently on the stove over medium-low heat or in the microwave until heated through. Add a splash of broth if needed to loosen the gravy.
FAQs
Can I bake the meatballs instead of frying them?
Yes, bake at 400°F for 20–25 minutes until browned and cooked through.
Can I use store-bought meatballs?
Yes, though homemade gives better flavor. Brown frozen or pre-made meatballs and continue with the gravy.
What can I use instead of Dijon mustard?
Yellow mustard or stone-ground mustard can be used, though Dijon adds a subtle tang.
Can I make this ahead of time?
Absolutely. Make meatballs and gravy up to 2 days in advance and reheat before serving.
What’s the best way to serve these meatballs?
Serve over mashed potatoes, rice, or egg noodles with a vegetable side like green beans or peas.
Is the gravy freezer-friendly?
Yes. Cool completely and freeze in a separate container. Reheat gently and whisk to smooth if it separates.
Can I use beef stock instead of broth?
Yes, beef stock adds an even deeper flavor.
How do I keep meatballs from falling apart?
Don’t skip the egg and breadcrumbs—they help bind the mixture. Chilling also helps them hold shape during cooking.
Can I use onion powder instead of fresh onions?
You can, but fresh onions give the best flavor and texture for both the meatballs and gravy.
What’s the best beef-to-fat ratio for meatballs?
An 80/20 blend offers the best balance of flavor and juiciness. You can go leaner, but they may be drier.
Conclusion
These Meatballs with Onion Gravy are the kind of meal that brings people back for seconds. Rich, savory, and deeply comforting, they’re ideal for everything from casual family dinners to cozy weekends. Pair them with your favorite sides and enjoy a home-cooked classic that never goes out of style.
Print
Meatballs with Onion Gravy
- Total Time: 35 minutes
- Yield: 6 servings
- Diet: Low Lactose
Description
These Meatballs with Onion Gravy are tender, juicy, and flavorful, served with a rich, savory onion gravy. Perfect over mashed potatoes or alongside your favorite vegetables, this classic comfort food makes a hearty dinner any night of the week.
Ingredients
- Meatballs:
- ½ tablespoon oil
- ½ cup yellow onion, diced small (about ¼”)
- 1 teaspoon garlic, chopped
- 2 lb ground beef (80/20 or leaner)
- ¼ cup plain bread crumbs
- 1 egg
- 1 tablespoon Dijon mustard
- 1 teaspoon Worcestershire sauce
- 1 teaspoon salt
- ½ teaspoon black pepper
- ½ teaspoon dried thyme leaves
- 1 teaspoon fresh parsley, chopped
- 4 tablespoons vegetable oil
- Gravy:
- 2 tablespoons butter
- 1 cup yellow onion, sliced about ½” thick (approx. ½ medium-large onion)
- 1 tablespoon garlic, minced
- 3 tablespoons all-purpose flour
- ¼ teaspoon kosher salt
- ½ teaspoon black pepper
- 4 cups beef broth
- 1 teaspoon Worcestershire sauce
Instructions
- Heat ½ tablespoon oil in a small skillet over medium heat. Add diced onion and garlic; cook 2–3 minutes until translucent. Let cool 5 minutes.
- In a large bowl, combine ground beef, bread crumbs, egg, Dijon mustard, Worcestershire sauce, salt, pepper, thyme, parsley, and cooked onions. Mix gently until just combined.
- Form meatballs using a 1.5 tablespoon scoop and smooth them by hand. Place on a tray, cover with plastic wrap, and refrigerate for 15–20 minutes.
- Heat 4 tablespoons vegetable oil in a deep 10–12 inch skillet over medium heat. Cook meatballs in batches for 5–7 minutes, turning to brown all sides. Remove cooked meatballs and keep warm covered with foil.
- In the same skillet, melt 2 tablespoons butter. Add sliced onions and cook over medium heat for 8–10 minutes until soft and starting to brown.
- Add minced garlic and cook 2 more minutes until fragrant.
- Stir in flour, cooking for 1–2 minutes. Gradually whisk in beef broth and Worcestershire sauce. Simmer until gravy thickens, about 5–7 minutes.
- Return meatballs to the skillet and coat them in the onion gravy. Serve hot over mashed potatoes or with vegetables.
Notes
- Grate onions for the meat mixture to skip pre-cooking and cooling step.
- Larger meatballs will require longer cooking time.
- Cook meatballs in batches to maintain oil temperature and ensure even browning.
- Gravy can be made ahead and reheated gently, adding more broth if needed.
- Prep Time: 15 minutes
- Cook Time: 20 minutes
- Category: Main Course
- Method: Skillet
- Cuisine: American
Nutrition
- Serving Size: 1 serving (approx. 3 meatballs with gravy)
- Calories: 566
- Sugar: 4g
- Sodium: 750mg
- Fat: 38g
- Saturated Fat: 15g
- Unsaturated Fat: 20g
- Trans Fat: 0g
- Carbohydrates: 21g
- Fiber: 2g
- Protein: 35g
- Cholesterol: 135mg