Ossobuco alla Milanese (Braised Veal Shanks)
Authentic ossobuco alla Milanese: tender veal shanks braised in wine, topped with gremolata, and served with saffron risotto. Ready in under 2 hours.
Ossobuco alla Milanese is veal shanks, braised low and slow until the meat is fall-off-the-bone tender, then finished with gremolata, a bright, garlicky herb sauce that cuts through all that richness.
In Milan, it's almost always served with risotto alla Milanese, the golden saffron risotto that shares the same table (and often the same pot of broth).
This traditional ossobuco recipe is one of those classic northern Italian recipes that looks fancy on the plate but is genuinely simple to pull off at home.
If you want a holiday dinner recipe that feels special without keeping you tied to the stove, osso buco Milanese is it.
It works just as well for a cozy Sunday dinner as it does for Christmas, Thanksgiving, or New Year's Eve!

Jump to:
What is ossobuco?
"Ossobuco" is Italian for "bone with a hole." Osso means bone, buco means hole, and describes exactly what it is: a cross-cut veal shank with a small well of bone marrow right in the center.
Ossobuco alla Milanese means "Milan-style ossobuco", and it's the most famous veal shank recipe in Italy.
The shanks are cut into thick slices, dusted in flour, and browned in a little oil or butter. From there, they're braised slowly in white wine, broth, and herbs until the meat practically melts.
Braising is different from stewing, even though people mix them up all the time.
When you braise, the meat is only partly covered in liquid, so it cooks gently while the top stays out of the liquid and the sauce reduces and thickens around it. Stewing means the meat is fully submerged.
That one difference matters here: braising lets the shanks soak up flavor while the sauce turns silky, instead of watering everything down.
The finishing touch is gremolata, a zesty mix of parsley, lemon zest, and garlic spooned over the top right before serving.
Traditionally, ossobuco Milanese is plated alongside risotto alla Milanese, the saffron risotto Milan is famous for, though there are other sides that work beautifully too (more on that below).
How to choose veal shanks for ossobuco
Good ossobuco starts at the butcher counter. Ask for cross-cut veal shank, sometimes labeled "veal osso buco" or "veal shin", the shanks come pre-sliced into rounds with the bone (and marrow) in the middle.
A few things to look for:
- Thickness: aim for slices about 1½ inches (3-4 cm) thick. Thinner cuts dry out before the meat gets tender, and thicker ones take forever to cook through.
- Hind shank vs. fore shank: if your butcher offers a choice, go for the hind shank. It's meatier and more evenly shaped, so the slices hold together better during a long braise.
- Even color and marrow: the meat should look pale pink and fresh, with a good amount of marrow visible in the bone. That marrow melts into the sauce as it cooks and adds a ton of flavor.
- Tie it if needed: if your slices look like they might fall apart, tie a piece of kitchen twine around the outside of each one before browning. It keeps the meat and bone together so nothing separates in the pot.
Veal shanks are the traditional choice because the meat is more tender and delicate than beef, but beef shanks work in a pinch if that's what you can find.
Ossobuco ingredients
You don't need anything fancy for classic Italian ossobuco. Here's what goes into it:

- Veal shanks: They should be approx. 1 ½” thick (3 cm) each. You can use beef shanks, but veal shanks are more tender.
- Onion: Yellow or white onion works well for this recipe.
- Extra-virgin olive oil: You can easily substitute it with butter for a richer flavor.
- White wine: Use good quality dry white wine if possible.
- Broth: Opt for vegetable broth for a delicate note, and chicken broth or beef broth for a stronger flavor.
- Fresh aromatic herbs: I use a mix of sage and thyme. Rosemary works well too.
- Gremolata: Use fresh garlic for a more delicate aroma, flat parsley, and lemon zest, I recommend using organic lemons.
WHAT IS GREMOLATA?
Gremolata is a simple Italian green sauce made from finely minced flat-leaf parsley, lemon zest, and garlic.
Spooned over the ossobuco just before serving, it adds a fresh, sharp note that balances all that rich, braised meat.
Gremolata also goes very well with other meat or fish dishes. It’s great on grilled chicken or fish.
Why traditional ossobuco skips the tomatoes
Ossobuco has been made this way since at least the eighteenth century, and the original recipe, like classic Bolognese sauce, doesn't include any tomato at all.
That said, plenty of modern versions do add a little tomato. If you'd like to try it, stir in 1 teaspoon of tomato paste or 1 tablespoon of passata along with the broth.
Some cooks also add a finely chopped carrot and celery stalk with the onion, which turns your base into a proper soffritto.
How to cook ossobuco Milanese
This is one of those recipes that's mostly hands-off.
You'll spend about 10 minutes actively cooking, and then the shanks braise away on their own until they're perfectly tender.
Here's a quick recipe overview with step-by-step pictures.
Scroll down until the end of the post for the full printable recipe.

- Lightly flour the meat slices on both sides, shaking the flour in excess.
- Cook the onion, then add the veal shanks and brown them on both sides.
- Pour in the white wine, and let it evaporate, then add in the aromatic herbs.
- Pour in enough stock so that the meat is just half-submerged in the liquid. Lower the heat, cover, and cook for about 1½ hours, adding a bit of broth when necessary, to keep the meat moist.
As soon as the meat can easily fall from the bone, the ossobuco is ready.
In the meantime, prepare the gremolata and pour over the veal shanks when serving.
Did you know? In Milan, ossobuco usually comes with a small spoon on the side called “esattore”, for easily extracting the bone marrow.

Stovetop or oven: which should you use?
Both methods get you to the same tender, fall-apart result, so it really comes down to what's easier for you.
The stovetop method (above) gives you more control, since you can check the liquid level and adjust the heat as you go. It's a good option if you're cooking a smaller batch or want to keep an eye on things.
The oven method is more hands-off. Brown the meat in an oven-safe cast iron pot, add the broth, wine, and herbs, then transfer the whole pot to a 360°F (180°C) oven for about an hour, turning the shanks halfway through. This is the better choice if you're making a bigger batch or want the oven to do the work while you prep your sides.
Common mistakes to avoid
Ossobuco is forgiving, but a few missteps can throw off the result:
- Skipping the sear. Browning the meat first isn't optional. This is where most of the flavor comes from. Don't rush this step or crowd the pan.
- Fully submerging the meat. If the shanks are drowning in liquid, you're stewing, not braising, and the sauce won't reduce properly. Keep the meat about half-covered.
- Cooking at too high a heat. A hard simmer or boil will toughen the meat instead of breaking it down gently. Keep the heat low so the liquid barely bubbles.
- Not checking for doneness early enough. Start testing around the 1-hour mark. Once the meat easily pulls from the bone, it's done.
- Letting the sauce get too thin or too thick. If it's thin at the end, remove the meat and reduce the sauce over higher heat for a few minutes. If it's too thick, stir in a splash more broth.
What to serve with ossobuco
In Milan, ossobuco is served with risotto alla Milanese, and it really is the perfect match.
But if risotto isn't in the cards tonight, here are a few great osso buco side dishes that work just as well:
- Bread: grilled sourdough or ciabatta is the easiest side of all, perfect for scarpetta, when you tear off a piece and use it to mop up the last of the sauce.
- Polenta: creamy polenta has a smooth texture and mild flavor that pairs beautifully with braised veal.
- Potatoes: roasted potatoes or mashed potatoes both work well.
- Rice: plain cooked rice is a simpler stand-in for risotto. I like stirring in a little butter and Parmesan for a risotto-like feel without the extra work.

Recipe FAQs
Cross-cut veal shank, sliced with the bone (and its marrow) still in the center. Beef shank is a common substitute, though the flavor and texture will be a little heartier.
Yes, you can prep and cook ssobucco the day before.
After cooking it, store it in the fridge, then the next day, bring it to room temperature before very gently re-heating.
To serve: reheat, covered, in preheated oven to 150 C /300 F, for about 30 minutes, adding a little extra broth (or water) to prevent the meat from drying out.
Yes. Transfer the cooked meat and its juices to an airtight container and freeze for up to 1 month. Thaw overnight in the fridge, then reheat as suggested above.
More Italian recipes to try
If you enjoyed this one, you'll probably love a few other slow-cooked classics from the blog too.
My veal saltimbocca is another tender, veal-based dinner worth trying, and if you're after something equally rich, my traditional Bolognese ragù never disappoints.
For a cozy night in, a bowl of pasta e fagioli or a plate of pasta alla Norcina hits the same comforting note, and eggplant parmigiana makes a great addition to the table alongside it.
Did You Try This Recipe?
Please let me know how you liked it! Leave a comment below and share a picture on Instagram with the hashtag #thepetitecook!
Don't forget to subscribe to my newsletter and follow along on Facebook, Pinterest and Instagram for the latest updates.
Recipe
Ossobuco alla Milanese (Braised Veal Shanks)
Ingredients
- 4 veal shanks, 1 ½ inches thick, 9-12 oz each
- 3 tablespoon all purpose flour
- 3 tablespoon extra-virgin olive oil, or butter
- ½ white onion, finely chopped
- ½ cup white wine, (120 ml)
- 2 cups vegetable or beef broth, (480 ml)
- sea salt and freshly-cracked black pepper
- 1 garlic clove
- zest of 1 organic lemon
- handful fresh flat-leaf parsley
To Serve:
Instructions
- Make small incisions over the outer lining of the veal shunks. This will prevent the slices from curling during the cooking time.
- Place the flour in a large bowl or shallow dish, and lightly flour the meat slices on both sides, shaking off the flour in excess.
- Heat the extra-virgin olive oil in a large pot over medium-low heat, add the onion and cook until translucent, stirring often to prevent it from burning.
- Add in the veal shanks and brown them on both sides.
- Turn the heat to medium, pour in the white wine, and let it evaporate, about 3-5 minutes.
- Pour in enough stock so that the meat is just half-submerged in the liquid. Season with sea salt and black pepper to taste. Lower the heat to a minimum, cover, and cook for about 1½ hours, adding a bit of broth when necessary, to keep the meat moist.
- Right before you take the meat off the heat, prepare the gremolata. Finely chop together the garlic with the lemon zest and parsley, and mix all the ingredients together.
- Remove the pot from the heat, top each slice of veal with the prepared gremolata, and serve with risotto alla milanese or your favorite side dish.
Notes
Nutrition
The information shown is an estimate provided by an online nutrition calculator. It should not be considered a substitute for a professional nutritionist’s advice.
This post was originally published in September 2021 and updated in August 2026.



Oh my goodness this looks simply incredible! A must for Sunday lunch today I think!