Braised Meatballs in Red Wine Gravy

Braised Meatballs in Red Wine Gravy is a rich, comforting Italian-inspired dish perfect for a cozy dinner or a special occasion. Tender meatballs made with beef and veal are baked, then seared and simmered in a luxurious red wine and tomato gravy. Served over creamy Gruyère mashed potatoes with baby spinach, this meal is both hearty and elegant, with layers of deep, savory flavor.

Why You’ll Love This Recipe
This recipe brings together everything you want in a comforting, restaurant-worthy dinner. The meatballs are incredibly moist and flavorful thanks to the milk-soaked bread and ground veal, while the red wine gravy adds a refined, robust element. Paired with ultra-creamy mashed potatoes infused with Gruyère cheese and wilted spinach, it’s a well-rounded dish that is sure to impress guests or elevate your weeknight meal. The ingredients are classic, but the flavors are elevated and nuanced.

Ingredients
(Tip: You can find the complete list of ingredients and their measurements in the recipe card below.)

For the Meatballs:

Day-old French bread

Whole milk

Ground beef

Ground veal

Large eggs

Onion

Parsley

Salt

Black pepper

Dried thyme

All-purpose flour

Butter

Olive oil

For the Red Wine Gravy:

Red wine

Tomato paste

Canned beef broth

For the Mashed Potatoes:

Yukon Gold potatoes

Butter

Whole milk

Gruyère cheese, grated

Baby spinach

Directions
1. Prepare the Meatballs:
Preheat the oven to 350°F (175°C).
In a medium bowl, soak the bread in milk for 10 minutes. Squeeze out excess milk and discard it.
In a large bowl, combine the soaked bread, ground beef, veal, eggs, onion, parsley, salt, pepper, and thyme. Mix thoroughly by hand.
Form into 1¾-inch meatballs and place in a 13×9-inch baking dish. Bake for 30 minutes, then let cool slightly.

2. Brown the Meatballs:
Dust the meatballs lightly with flour.
Heat butter and olive oil in a large skillet over medium-high heat. Brown the meatballs in batches for about 3 minutes per batch, turning to sear all sides. Set aside.

3. Make the Red Wine Gravy:
Return the meatballs to the skillet.
In a small bowl, whisk the red wine and tomato paste until smooth. Pour into the skillet and bring to a boil. Cook for 5 minutes, stirring, until the wine reduces slightly.
Add beef broth, reduce heat to medium, and simmer for about 15 minutes until the sauce thickens. Adjust seasoning with salt and pepper.

4. Make the Mashed Potatoes:
Boil the potatoes in salted water for about 30 minutes until fork-tender. Drain well.
Mash with butter, then stir in warm milk and Gruyère cheese until creamy.
Fold in the baby spinach, allowing the residual heat to wilt the leaves. Season with salt and pepper to taste.

5. Serve:
Spoon mashed potatoes onto each plate, top with meatballs, and ladle red wine gravy generously over the top. Serve immediately.

Servings and timing
Servings: 6
Prep Time: 20 minutes
Cook Time: 1 hour 15 minutes
Total Time: 1 hour 35 minutes
Approximate Calories per Serving: 700–800 kcal (depending on portion size)

Variations
Cheese alternatives: Swap Gruyère for Parmesan, Asiago, or sharp white cheddar for a different flavor profile.

Wine-free version: Use additional beef broth in place of wine, with a splash of balsamic vinegar for depth.

Greens upgrade: Use kale or Swiss chard in the mashed potatoes instead of spinach for a heartier green.

Add garlic: Add minced garlic to both the mashed potatoes and meatballs for an extra punch of flavor.

Storage/Reheating
Store leftovers in an airtight container in the refrigerator for up to 4 days.
To reheat, place meatballs and mashed potatoes in a baking dish, cover with foil, and warm in a 350°F oven for 20–25 minutes. Alternatively, microwave individual portions on medium power until hot.

You can freeze the meatballs and gravy separately for up to 2 months. Thaw overnight in the refrigerator before reheating. Mashed potatoes are best fresh, but they can also be frozen in small portions.

FAQs
Can I make the meatballs ahead of time?
Yes, you can shape and bake the meatballs a day ahead. Reheat them in the gravy when ready to serve.

What kind of red wine should I use?
A dry red wine such as Cabernet Sauvignon, Pinot Noir, or Merlot works best for the gravy.

Can I substitute ground pork or turkey?
Yes, ground pork is a good substitute for veal, and ground turkey can be used for a lighter version.

Is it necessary to bake and then sear the meatballs?
Baking first helps the meatballs hold their shape. Searing adds flavor and color, but you can skip it for a softer texture.

Can I use store-bought breadcrumbs instead of bread?
Soaked fresh bread yields a more tender meatball, but in a pinch, you can use ¾ cup of plain breadcrumbs.

How can I thicken the red wine gravy?
If needed, simmer a bit longer or add a cornstarch slurry (1 tsp cornstarch + 2 tsp water) and cook until thickened.

Can I make the mashed potatoes without cheese?
Yes, the mashed potatoes will still be creamy without cheese. Add extra butter and milk as needed.

Is this recipe gluten-free?
Use gluten-free flour for dusting and ensure the broth and tomato paste are gluten-free for a safe variation.

What vegetables pair well on the side?
Roasted carrots, green beans, or sautéed mushrooms complement the flavors beautifully.

Can I prepare this dish for a dinner party?
Absolutely. The components can be made ahead and reheated before serving, making it perfect for entertaining.

Conclusion
Braised Meatballs in Red Wine Gravy served over Gruyère mashed potatoes is the kind of dish that brings comfort and elegance to your table. Each element—from the tender, savory meatballs to the creamy, cheesy mashed potatoes—works in harmony to create a hearty and flavorful experience. Whether you’re cooking for guests or treating yourself to a luxurious meal, this recipe is sure to satisfy and impress.

Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Braised Meatballs in Red Wine Gravy

Braised Meatballs in Red Wine Gravy

5 Stars 4 Stars 3 Stars 2 Stars 1 Star No reviews
  • Author: Olivia
  • Prep Time: 20 minutes
  • Cook Time: 1 hour 15 minutes
  • Total Time: 1 hour 35 minutes
  • Yield: 6–8 servings
  • Category: Main Course
  • Method: Braising
  • Cuisine: American

Description

These Italian-style Braised Meatballs in Red Wine Gravy are rich, savory, and served over creamy Gruyère mashed potatoes with wilted spinach. A comforting and elegant dinner perfect for cold nights or entertaining guests.


Ingredients

For the Meatballs:

  • 1 (6 oz) piece day-old French bread, cut into 8 pieces

  • 1 cup whole milk

  • 1 lb ground beef (7-15% fat)

  • 3/4 lb ground veal

  • 2 large eggs, lightly beaten

  • 1 medium onion, finely chopped

  • 1/2 cup chopped parsley

  • 2 tsp salt

  • 1 tsp black pepper

  • 1/2 tsp dried thyme

  • All-purpose flour (for dusting)

  • 2 tbsp butter

  • 1 1/2 tsp olive oil

For the Red Wine Gravy:

  • 1 1/2 cups red wine

  • 1/4 cup tomato paste

  • 2 1/2 cups canned beef broth

For the Mashed Potatoes:

  • 4 lbs Yukon Gold potatoes, peeled and cut into 2-inch pieces

  • 1 stick butter

  • 1 1/4 cups warm whole milk (or more as needed)

  • 2 cups grated Gruyère cheese

  • 1 bag baby spinach


Instructions

  • Prepare the Meatballs:

    • Preheat oven to 350°F (175°C).

    • Soak bread in milk for 10 minutes. Squeeze out excess milk and discard.

    • In a large bowl, mix soaked bread, beef, veal, eggs, onion, parsley, salt, pepper, and thyme until combined.

    • Shape into 1¾-inch meatballs and place in a 13×9-inch dish. Bake for 30 minutes.

  • Brown the Meatballs:

    • Lightly flour the baked meatballs.

    • Heat butter and oil in a large skillet over medium-high heat.

    • Brown meatballs in batches, searing all sides (3 minutes per batch).

  • Make the Red Wine Gravy:

    • Return meatballs to skillet. Whisk red wine with tomato paste and add to pan.

    • Bring to a boil, stirring for 5 minutes until thickened slightly.

    • Add beef broth, reduce heat, and simmer for 15 minutes until sauce thickens. Season to taste.

  • Make the Mashed Potatoes:

    • Boil potatoes in salted water for 30 minutes until very tender. Drain well.

    • Mash with butter, warm milk, and Gruyère until smooth.

    • Fold in baby spinach and season with salt and pepper.

  • Serve:

    • Spoon mashed potatoes onto plates, top with braised meatballs, and ladle red wine gravy over the top.


Notes

  • Make the mashed potatoes ahead of time and reheat gently before serving.

  • Use Pinot Noir or Cabernet for the gravy for rich depth.

  • Add mushrooms to the gravy for extra flavor.

Leave a Comment & Rate this Recipe!

If you love this recipe, please consider giving it a star rating when you leave a comment. Star ratings help people discover my recipes online. Your support means a lot to me, I appreciate you.

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star

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