Osso Buco Milanese Classic

Featured in: Cozy Family Plates

Osso Buco is a traditional Milanese dish featuring veal shanks slowly braised in a rich tomato and vegetable sauce. The shanks are dredged lightly in flour, browned, and then simmered with aromatic vegetables, white wine, and herbs until tender. A fresh gremolata of lemon zest, parsley, and garlic is added at the end to brighten the dish. This comforting and elegant plate pairs perfectly with saffron risotto, polenta, or creamy mashed potatoes. Variations include gluten-free flour options and substituting beef shanks if preferred.

Updated on Sat, 27 Dec 2025 09:24:00 GMT
A close-up of Osso Buco with meltingly tender veal shanks in a rich, savory sauce. Pin Recipe
A close-up of Osso Buco with meltingly tender veal shanks in a rich, savory sauce. | fordishes.com

I discovered osso buco on a rainy Milan evening when a neighbor invited me to her kitchen and pulled a Dutch oven from the oven, steam rising like a small miracle. The veal shanks had transformed into something impossibly tender, swimming in a mahogany sauce that smelled of wine, tomatoes, and time. She handed me a fork and that first taste—the meat falling from the bone, the richness of the sauce, that bright hit of lemon zest—made me understand why this dish has survived centuries of Italian cooking. I asked for her recipe immediately, though she laughed and said the real secret was patience and a good pot.

The first time I made this for guests, I worried for hours that something would go wrong. But as the oven worked its magic and that apartment filled with the aroma of slowly braising meat and tomatoes, my anxiety dissolved. When I pulled the pot out and saw how the shanks had surrendered completely to the heat, I felt the same quiet confidence my neighbor had shown me. My guests sat down to dinner and went silent—that deep, eating-focused silence that means you've done something right.

Ingredients

  • Veal shanks (4 pieces, about 350g each): Ask your butcher to cut them cross-wise so you get that beautiful marrow bone visible in the center; it adds body and richness to the sauce as it braises.
  • Salt and freshly ground black pepper: Don't skip the grinding step—pre-ground pepper tastes flat compared to what you crack fresh, and this dish deserves that brightness.
  • All-purpose flour (1/3 cup): The dredging creates a thin, flavorful crust that helps seal in the meat's juices and adds subtle depth to the sauce.
  • Olive oil and unsalted butter (2 tbsp each): Together they create a sweet-savory browning temperature that neither could achieve alone.
  • Onion, carrots, celery, garlic: This is your flavor foundation—the soffritto that makes Italian cooking unmistakable, so don't rush the chopping or the sautéing.
  • Dry white wine (1 cup): Use something you'd actually drink; cheap wine tastes cheap, and the sauce concentrates that flavor.
  • Diced tomatoes (1 can, 400g) with juice: The juice matters as much as the tomatoes; it becomes part of your braising liquid, so don't drain it away.
  • Beef or veal stock (1 1/2 cups): Homemade is ideal, but quality store-bought works—avoid anything labeled "broth" as it's too thin for this braise.
  • Tomato paste (2 tbsp): This concentrates the tomato flavor and adds subtle sweetness that balances the wine's acidity.
  • Bay leaves and dried thyme: These are quiet players, but together they build a savory backbone that ties everything together.
  • Lemon zest (split between braising and gremolata): The zest in the braising liquid adds brightness throughout cooking, while the fresh zest in gremolata provides that final, sparkling finish.
  • Fresh flat-leaf parsley and final lemon zest for gremolata: This is where all the richness gets its lightness—gremolata is not garnish, it's redemption in a spoonful.

Instructions

Prepare the veal with intention:
Pat the shanks dry with paper towels—this helps them brown instead of steam. Season both sides generously and let them sit for a moment so the salt can begin its work, then dredge lightly in flour and shake off any excess that clings too heavily.
Build your color on high heat:
Let that oil and butter get shimmering and almost smoking before the veal touches down. You want each side to spend 3–4 minutes undisturbed in the pot, developing a deep golden crust that will add flavor to every spoonful of sauce.
Develop the base with your vegetables:
After the veal comes out, the same pot becomes your canvas. Add the onion, carrots, celery, and garlic and let them soften for about 6 minutes, stirring occasionally—they're releasing their sweetness and beginning to caramelize slightly.
Awaken the tomato paste:
Stir in the tomato paste and cook it for a full minute, letting it deepen in color and lose its raw edge. This small step is what separates shallow sauces from deep ones.
Deglaze with wine and memory:
Pour in the white wine slowly, scraping the bottom of the pot with a wooden spoon to lift every brown bit—those caramelized fragments are pure flavor. Let it bubble for a moment, letting some of the alcohol cook off and the wine's tartness mellow slightly.
Build the braising liquid layer by layer:
Add the tomatoes with their juice, the stock, bay leaves, thyme, and half the lemon zest. Stir everything together so nothing settles to the bottom where it might scorch.
Return the veal and surrender to time:
Nestle the shanks back into the pot in a single layer, then spoon some of that beautiful liquid over each one. Bring everything to a gentle simmer on the stovetop, then cover and slide the whole pot into a preheated 160°C/325°F oven for 2 hours, until the veal is so tender a fork slides through it like butter.
Prepare your gremolata while the oven works:
Mince the parsley and garlic together and combine with the remaining lemon zest; set it aside and let the flavors mingle while you wait.
Finish with brightness and serve:
Remove the shanks to a serving platter, skim any excess fat from the surface of the sauce if you like, then taste and adjust for salt and pepper. If the sauce seems thin, simmer it on the stovetop for a few minutes to concentrate the flavors and thicken it slightly. Spoon the sauce over the shanks and crown everything with a generous shower of gremolata just before serving.
Golden-brown, slow-braised Osso Buco served with a vibrant gremolata, perfect for a cozy dinner. Pin Recipe
Golden-brown, slow-braised Osso Buco served with a vibrant gremolata, perfect for a cozy dinner. | fordishes.com

I remember my neighbor tasting my version months later and nodding with that quiet approval that meant everything. She said it was good because I hadn't tried to improve it, I'd just honored what it was—a dish built on patience and respect for simple ingredients. That lesson stayed with me longer than any technique.

What Makes This Milanese

Osso buco belongs to Milan's tradition of slow, luxurious cooking where meat is treated not as something to rush but as something to understand. The marrow bone isn't an accident—it's the soul of the dish, enriching the sauce as it cooks and offering its own tender reward to whoever claims it. This is peasant cooking elevated by technique and time, which is really what Italian cooking has always been about.

Serving Suggestions and Pairings

The classic pairing is saffron risotto (risotto alla Milanese), where that creamy, golden rice soaks up the sauce like a sponge. Polenta works equally well if you want something warmer and more rustic, and creamy mashed potatoes can be your secret if you want comfort without pretense. Some people add a simple green salad on the side to cut through the richness, which I now understand is wisdom rather than decoration.

The Science of Braising and Flavor Building

Perfect Christmas Kitchen Gift
🎄 The Perfect Christmas Kitchen Gift
🎅 Christmas Special Deal — Limited Time
Looking for a **useful, high-quality Christmas gift** that people actually love using? This is one of those rare finds that feels premium, saves time, and makes cooking way more fun — perfect for family dinners and cozy winter meals.
🎁 View Christmas Deal

Braising is one of cooking's gentlest lessons in patience and transformation. Low heat and time break down the connective tissue in tougher cuts, turning them into something tender and giving the flavors of the sauce time to build and deepen rather than just sit together. The wine and tomatoes add acidity that keeps the sauce bright, while the stock provides body, and together they create something complex from simple parts. The long cooking also allows the marrow from the bone to emulsify slightly into the sauce, adding a richness that no amount of butter could replicate.

  • Start checking for doneness after 1 hour 45 minutes—ovens vary, and you want the meat just tender enough to yield, not falling apart.
  • If you're making this a day ahead, refrigerate it overnight and the flavors will have intensified and married beautifully.
  • Cold osso buco sauce becomes a thick jelly from the gelatin in the bone, which means reheating is forgiving and actually improves the texture.
Fork-tender Osso Buco, the Italian braised veal dish, glistening in its flavorful tomato sauce. Pin Recipe
Fork-tender Osso Buco, the Italian braised veal dish, glistening in its flavorful tomato sauce. | fordishes.com

Make this when you have time to think about cooking as an act of presence rather than efficiency. The reward isn't just a magnificent dinner; it's the quiet satisfaction of knowing you've honored both the ingredients and the tradition that brought them together on your table.

Recipe FAQs

What cut of meat is best for Osso Buco?

Veal shanks, cross-cut and bone-in, provide the ideal tender texture and flavor for Osso Buco.

How long should the veal shanks be braised?

Braising the shanks at a low temperature for about 2 hours ensures they become fork-tender and flavorful.

What is gremolata and why is it added?

Gremolata is a fresh mix of lemon zest, garlic, and parsley that adds bright, zesty notes to balance the rich braise.

Can Osso Buco be made gluten-free?

Yes, using gluten-free flour for dredging the meat ensures the dish remains suitable for gluten-sensitive diets.

What sides pair well with this dish?

Traditional accompaniments include saffron risotto, polenta, or creamy mashed potatoes for a comforting meal.

Osso Buco Milanese Classic

Slow-braised veal shanks in tomato sauce finished with fresh gremolata for an elegant meal.

Prep Duration
25 mins
Cooking Duration
135 mins
Complete Time
160 mins
Recipe by Fordishes Ava Reynolds


Skill Level Medium

Cuisine Italian

Makes 4 Number of Servings

Diet Details None specified

Ingredient List

Veal and Seasoning

01 4 veal shanks (approximately 12 oz each, cross-cut, bone-in)
02 Salt, to taste
03 Freshly ground black pepper, to taste
04 1/3 cup all-purpose flour (use gluten-free flour if needed) for dredging

Vegetables

01 2 tablespoons olive oil
02 2 tablespoons unsalted butter
03 1 large onion, finely chopped
04 2 carrots, diced
05 2 celery stalks, diced
06 4 garlic cloves, minced

Braising Liquid

01 1 cup dry white wine
02 1 can (14 oz) diced tomatoes with juice
03 1 1/2 cups beef or veal stock
04 2 tablespoons tomato paste
05 2 bay leaves
06 1 teaspoon dried thyme
07 Zest of 1 lemon (reserve half for gremolata)

Gremolata

01 2 tablespoons fresh flat-leaf parsley, finely chopped
02 1 garlic clove, minced
03 Reserved lemon zest from braising liquid

Directions

Step 01

Prepare veal shanks: Pat veal shanks dry. Season generously with salt and black pepper, then dredge lightly in flour, shaking off any excess.

Step 02

Brown the meat: Heat olive oil and butter in a large Dutch oven over medium-high heat. Brown veal shanks on all sides for 3 to 4 minutes per side. Remove and set aside on a plate.

Step 03

Sauté vegetables: In the same pot, add chopped onion, diced carrots, celery, and minced garlic. Sauté until softened, about 6 minutes.

Step 04

Incorporate tomato paste and deglaze: Stir in tomato paste and cook for 1 minute. Deglaze the pot with white wine, scraping up any browned bits from the bottom.

Step 05

Add braising ingredients: Add diced tomatoes with juice, beef or veal stock, bay leaves, dried thyme, and half of the lemon zest. Stir to combine.

Step 06

Return veal and simmer: Place veal shanks back into the pot in a single layer, spooning sauce over them. Bring to a simmer.

Step 07

Braise veal: Cover the pot and transfer to a preheated oven at 325°F (160°C). Braise for 2 hours, or until veal is tender enough to be pierced with a fork.

Step 08

Prepare gremolata: While veal cooks, combine fresh parsley, minced garlic, and reserved lemon zest to create the gremolata.

Step 09

Finish and serve: Remove veal shanks to a serving platter. Skim excess fat from sauce if necessary and simmer to desired thickness. Spoon sauce over shanks and sprinkle gremolata on top before serving.

Needed Equipment

  • Large Dutch oven or heavy ovenproof pot
  • Tongs
  • Chef's knife
  • Cutting board
  • Wooden spoon

Allergy Info

Double-check ingredients for allergens and speak with a healthcare provider if you're unsure.
  • Contains dairy (butter) and gluten (flour unless substituted with gluten-free option)

Nutrition Information (per serving)

For informational use only—doesn't replace personalized medical direction.
  • Calories: 590
  • Fats: 31 g
  • Carbohydrates: 17 g
  • Proteins: 54 g