Osso Buco Milanese Classic

Featured in: Family Meals

Osso Buco Milanese is a timeless dish featuring veal shanks slowly braised in a savory blend of tomatoes, vegetables, and aromatic herbs. The slow braising process tenderizes the meat, infusing it with the rich flavors of white wine, stock, and tomato paste. The dish is completed with a fresh gremolata of lemon zest, garlic, and parsley that adds brightness and balance. Ideal for a warm and elegant main course, it pairs wonderfully with creamy mashed potatoes, saffron risotto, or polenta.

Updated on Mon, 29 Dec 2025 08:11:00 GMT
Golden-brown, fall-off-the-bone Osso Buco served with a vibrant gremolata, perfect for a cozy dinner. Save
Golden-brown, fall-off-the-bone Osso Buco served with a vibrant gremolata, perfect for a cozy dinner. | flashoven.com

There's something about the aroma of veal slowly transforming in the oven that makes you feel like you're in a Milanese kitchen, not your own. I stumbled onto osso buco years ago when a friend's mother casually mentioned it was the opposite of difficult—just time and patience. The first time I made it, I nearly skipped the browning step to save time, but something made me stop and do it properly. That golden crust was the whole difference, the foundation of everything that came after. Now whenever I braise those shanks, I'm reminded that some of the best dishes aren't about technique or tricks; they're about giving meat and vegetables the hours they need to become something transcendent.

I made this for my brother's birthday dinner, and I'll never forget how quiet the table got once everyone started eating. He's not one for compliments, but he went back for seconds without saying a word, which meant everything. That's when I realized this dish has a way of silencing conversations in the best possible way—it demands your full attention.

Ingredients

  • Veal shanks (4, about 350 g each, cross-cut, bone-in): The bone marrow enriches the sauce as it braises, so don't even think about boneless cuts. Ask your butcher to cross-cut them; this exposes the marrow and helps the meat cook evenly.
  • Salt and freshly ground black pepper: Don't skimp here—season generously before dredging, as this is your only real seasoning moment.
  • All-purpose flour (1/3 cup or 40 g): This creates that crucial brown crust; gluten-free flour works just as well if you need it.
  • Olive oil (2 tbsp) and unsalted butter (2 tbsp): The combination gives you a higher smoke point than butter alone while keeping that rich flavor.
  • Onion (1 large, finely chopped), carrots (2, diced), celery (2 stalks, diced), garlic (4 cloves, minced): This is your soffritto base, and the finer you chop everything, the better it dissolves into the sauce.
  • Dry white wine (1 cup or 240 ml): Choose something you'd actually drink; the acidity brightens the final sauce.
  • Diced tomatoes (1 can, 400 g with juice), beef or veal stock (1 1/2 cups or 360 ml), tomato paste (2 tbsp): Together these create the braising liquid's body and depth.
  • Bay leaves (2), dried thyme (1 tsp), lemon zest (1 lemon, reserved for gremolata): The herbs are subtle but essential; they prevent the dish from feeling one-dimensional.
  • Fresh flat-leaf parsley (2 tbsp, finely chopped), garlic clove (1, minced), lemon zest (reserved): The gremolata is your flavor reset button, cutting through the richness right before you eat.

Instructions

Product image
Dispense soap hands-free for quick handwashing and easier cleanup while cooking and handling ingredients.
Check price on Amazon
Prep and season the shanks:
Pat them completely dry with paper towels—this is what lets them brown properly instead of steam. Season generously with salt and pepper, then dredge lightly in flour and shake off any excess; you want a whisper of coating, not a thick crust.
Get that golden color going:
Heat your oil and butter in a large Dutch oven over medium-high heat until it shimmers. Working in batches if needed, brown each shank for 3–4 minutes per side until deeply golden, then transfer to a plate and set aside.
Build your flavor base:
In the same pot, add the onion, carrots, celery, and garlic and sauté until softened, about 6 minutes. You want them to be tender enough that they'll almost disappear into the sauce eventually.
Wake up the tomato paste:
Stir in the tomato paste and cook for just 1 minute, letting it caramelize slightly and deepen in color. This stops it from tasting raw and metallic.
Deglaze and build the sauce:
Pour in the white wine and scrape the bottom of the pot with a wooden spoon, releasing all those browned bits that are pure flavor. Add the diced tomatoes with their juice, stock, bay leaves, thyme, and half the lemon zest, stirring everything together.
Return the shanks to their home:
Nestle them back into the pot in a single layer and spoon sauce over them. Bring everything to a simmer on the stovetop, then cover and transfer to a preheated 160°C (325°F) oven for 2 hours, or until the veal is so tender a fork slides through it easily.
Make the gremolata while you wait:
Mix the fresh parsley, minced garlic, and remaining lemon zest in a small bowl. This fresh mixture is what you'll scatter on top at the very end.
Finish and serve:
Remove the shanks to a serving platter, skim any excess fat from the sauce if you'd like, and simmer it for a few minutes if it seems thin. Spoon the sauce over the shanks and sprinkle generously with the gremolata just before serving.
Product image
Dispense soap hands-free for quick handwashing and easier cleanup while cooking and handling ingredients.
Check price on Amazon
Save
| flashoven.com

I once served this to someone who claimed they didn't like veal, and watching them reconsider that stance mid-meal was worth every minute I'd spent in the kitchen. That's the power of osso buco—it transforms a potentially intimidating ingredient into something so comforting and honest that it doesn't need any pretense.

What to Serve It With

Osso buco is traditionally paired with risotto alla Milanese, which is finished with saffron and bone marrow for a luxurious match. If you want something lighter, creamy mashed potatoes or soft polenta both catch the sauce beautifully and let the veal shine without competing for attention. Even a simple green salad on the side works if you want to balance the richness, though honestly, the sauce alone is often enough.

Make-Ahead and Storage

This dish actually improves overnight as the flavors meld and deepen, so feel free to braise it a day ahead and gently reheat it before serving. Store it covered in the refrigerator for up to three days, or freeze the shanks and sauce together for up to two months. When reheating, do it slowly and gently over low heat so the meat doesn't toughen.

Variations and Swaps

Beef shanks work beautifully in place of veal and often require just a bit more cooking time—check tenderness around the 2.5-hour mark. For a gluten-free version, simply use gluten-free flour for dredging; the sauce itself is naturally gluten-free. Some people add a splash of Marsala wine or finish with a touch of cream, but I find the classic version needs nothing—it's already complete.

  • You can brown the shanks the night before and refrigerate them, then braise the next day when you're ready.
  • If your sauce seems too thin at the end, whisk together a little cornstarch and water to thicken it rather than boiling it down, which can concentrate the salt.
  • The gremolata is non-negotiable, but if you hate raw garlic, you can reduce it to half a clove and still get that bright, fresh finish.
Product image
Soft, absorbent towels keep counters dry while cooking, wiping spills, and handling dishes during everyday recipe prep.
Check price on Amazon
Slowly-braised, fork-tender Osso Buco with a rich tomato sauce, ready to be enjoyed with a creamy side. Save
Slowly-braised, fork-tender Osso Buco with a rich tomato sauce, ready to be enjoyed with a creamy side. | flashoven.com

Osso buco has this way of making you feel like you've accomplished something, even though most of the work is just showing up and waiting. Serve it with presence, and let the meat and sauce speak for themselves.

Recipe Questions & Answers

What cut of meat is best for Osso Buco?

Veal shanks cut crosswise with the bone in are ideal as they become tender and flavorful when slow braised.

Can I substitute beef for veal in this dish?

Yes, beef shanks can be used as a substitute but may require a longer cooking time for tenderness.

What is gremolata and how is it used here?

Gremolata is a fresh mix of lemon zest, garlic, and parsley added at the end to brighten and complement the rich flavors.

Is this dish suitable for gluten-free diets?

Yes, by using gluten-free flour when dredging the meat, this dish can be made gluten-free.

What sides pair best with Osso Buco?

Traditional sides include saffron risotto, creamy mashed potatoes, or soft polenta which soak up the rich sauce beautifully.

Osso Buco Milanese Classic

Tender veal shanks slow-cooked in a rich tomato and vegetable sauce, topped with fresh gremolata.

Prep Time
25 min
Baking/Cooking Time
135 min
Time Required
160 min
Recipe by Harper Ward

Recipe Type Family Meals

Skill Level Medium

Cuisine Italian

Makes 4 Number of Servings

Diet Considerations None specified

What You’ll Need

Veal and Seasoning

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

Vegetables

01 2 tbsp olive oil
02 2 tbsp 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 tbsp tomato paste
05 2 bay leaves
06 1 tsp dried thyme
07 Zest of 1 lemon (reserve half for gremolata)

Gremolata

01 2 tbsp fresh flat-leaf parsley, finely chopped
02 1 garlic clove, minced
03 Reserved lemon zest

How-To Steps

Step 01

Prepare Veal Shanks: Pat veal shanks dry; season generously with salt and freshly ground black pepper. Lightly dredge in all-purpose flour, shaking off excess.

Step 02

Brown the Veal: Heat olive oil and unsalted butter in a large Dutch oven over medium-high heat. Brown veal shanks on all sides, about 3 to 4 minutes per side. Transfer to a plate.

Step 03

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

Step 04

Add Tomato Paste and Deglaze: Stir in tomato paste and cook for 1 minute. Deglaze the pot with dry white wine, scraping up the browned bits from the bottom.

Step 05

Combine Braising Liquid: Add diced tomatoes with their juice, beef or veal stock, bay leaves, dried thyme, and half of the lemon zest. Stir well to combine.

Step 06

Braise Veal: Return veal shanks to the pot, arranging them in a single layer and spooning sauce over each. Bring to a simmer.

Step 07

Cook in Oven: Cover and place the pot in a preheated oven at 325°F. Braise for 2 hours or until the veal is tender and easily pierced with a fork.

Step 08

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

Step 09

Finish and Serve: Remove veal shanks to a serving platter. Skim fat from sauce if desired; reduce sauce on stovetop to thicken if necessary. Spoon sauce over shanks and sprinkle gremolata on top before serving.

Essential Tools

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

Allergy Details

Always verify every ingredient for allergens. Talk to a healthcare provider if you're unsure.
  • Contains dairy (butter) and gluten (flour; alternative gluten-free flour recommended if necessary)

Nutrition per Serving

Details shown are for general reference. Don’t use as a substitute for medical advice.
  • Calories: 590
  • Fats: 31 g
  • Carbohydrates: 17 g
  • Proteins: 54 g