Ossobuco Milanese, also known as Braised Veal Shanks, combines tender veal with a rich sauce and traditional gremolada made with parsley, garlic, and lemon zest.

This Northern Italian classic comes from Milan, Italy, the city where I was born. In Milanese dialect, it’s called oss bus a la milanesa. The marrow in the centre of the shanks adds extra richness to the deeply flavoured sauce and is an important part of traditional ossobuco.
Gremolada, also commonly known as gremolata, is a traditional Italian condiment made with fresh parsley, garlic and lemon zest. It’s added near the end of cooking for a fresh, citrusy contrast.
We usually serve Ossobuco Milanese with Risotto alla Milanese, but polenta or mashed potatoes are also great on the side.

Why Ossobuco Milanese Works for Family Meals
- You can prepare Ossobuco Milanese ahead and reheat it when everyone is ready to eat.
- Four veal shanks give you 4 portions, a practical amount for a smaller family dinner.
- Risotto, polenta, or mashed potatoes give you several simple choices for the side.
Key Ingredients for Braised Veal Shanks

Veal Shanks
Cross-cut veal shanks provide tender meat and the marrow bone at the centre of traditional Ossobuco Milanese. Look for shanks about 5 cm – 2 inches thick and similar in size to help them cook evenly. Slow braising softens the meat while the marrow adds richness to the sauce.
Butter
Butter provides the cooking fat for the onion and veal while adding richness to the sauce. It also helps the flour-coated shanks develop colour as they brown.
White Wine
White wine adds acidity and depth to the sauce. Choose a dry white wine such as Pinot Grigio or Sauvignon Blanc rather than a sweet variety. The wine reduces in the hot pan before the stock is added.
Beef Stock
Beef stock provides the liquid needed to braise the veal and adds savoury flavour to the sauce. Choose a good-quality, lower-salt stock if possible, as the sauce becomes more concentrated during the long braise. Add more stock if the liquid reduces too far.
Gremolata
Gremolata is a traditional Italian mixture of finely chopped fresh parsley, garlic, and lemon zest. It’s added near the end of cooking to give the rich veal and sauce a fresh, slightly citrusy finish.
Find the complete list with measurements in the recipe card below.
How to Make Ossobuco Milanese
Prepare and Brown the Veal
Step 1: Melt the butter in a large pan over low heat. Add the finely chopped onion and cook until soft and translucent.
Step 2: Make a few small cuts around the outer membrane of each veal shank to prevent it from curling as it cooks. Lightly coat the veal shanks with flour.

Step 3: Add the veal shanks to the pan with the onion and butter. Brown the veal shanks well on both sides.

Braise the Ossobuco
Step 1: Pour in the white wine and increase the heat. Cook until the alcohol evaporates.
Step 2: Pour in enough beef stock to partially cover the veal shanks.

Step 3: Cover the pan, leaving a small opening for steam to escape. Reduce the heat to low and braise for at least 1 ½ hours, or until the meat is very tender. Add more beef stock as needed and turn the veal shanks occasionally to prevent them from sticking to the pan.
Make the Gremolada and Serve
Step 1: Finely chop the parsley and garlic, or use a garlic press for the garlic. Finely grate the lemon zest, then mix it with the parsley and garlic.
Step 2: Sprinkle the gremolada over the veal shanks a few minutes before the end of the cooking time.
Step 3: Season with salt and pepper to taste.
Note: Taste the sauce before you add any salt. Beef stock can already contain a considerable amount of salt, and the sauce becomes more concentrated as the ossobuco cooks. Add extra salt only if needed.
Step 4: Serve the Ossobuco Milanese warm with saffron risotto, creamy polenta, or mashed potatoes.

Frequently Asked Questions
Use cross-cut veal shanks with the bone and marrow in the centre. Pieces around 5 cm – 2 inches thick work well because they can braise slowly without falling apart too quickly.
The meat should be very tender and easy to cut with a fork. If it still feels firm after 1 ½ hours, continue cooking over low heat and check it every 15–20 minutes.
Braise the veal gently over low heat and give it enough time to soften. If the ossobuco is still tough, it usually needs more cooking time, so continue braising rather than increasing the heat.
Gremolada is a mixture of finely chopped parsley, garlic and lemon zest. It’s added near the end of cooking to give the rich veal and sauce a fresh, slightly citrusy finish.
Extra Help from the Kitchen
Choose Evenly Sized Shanks – Pick veal shanks that are about the same thickness so they cook at a similar rate. Pieces around 5 cm – 2 inches thick work well for the long braise.
Use a Wide Pan – Keep the veal shanks in a single layer with some space between them. This gives them enough room to brown well before you add the wine and stock.
Shake Off Excess Flour – Gently shake off any extra flour before adding the veal to the pan. A thin coating helps with browning without making the sauce too thick.
Grate Only the Yellow Zest – Grate only the yellow part of the lemon peel for the gremolada. Avoid the white part, as it can give the gremolada a bitter taste.
Variations and Twists
Build a Vegetable Base – Add more vegetables to the sauce, such as 1 finely diced carrot, 1 celery stalk, leek or a small amount of fennel. Cook them with the onion until softened for extra depth and subtle sweetness.
Add Tomatoes – Use about 200–250 g of crushed or chopped tomatoes once the wine has reduced, before you pour in the stock. They give the sauce more body and a richer flavour.
Use Fresh Herbs – Add a few sprigs of thyme or rosemary and 1 bay leaf with the beef stock. Let them flavour the sauce as the veal braises, then remove the herb sprigs and bay leaf before serving.
Brighten the Gremolada – Replace some of the lemon zest with finely grated orange zest. Mix it with the parsley and garlic as usual for a slightly sweeter citrus flavour.
Switch the Stock – Replace the beef stock with the same amount of veal or chicken stock. Veal stock gives the sauce a richer meat flavour, while chicken stock keeps it lighter.
Storage and Shelf Life
Store leftover Ossobuco Milanese with its sauce in an airtight container in the refrigerator for up to 3–4 days. For longer storage, freeze the veal and sauce together in a freezer-safe container for up to 3 months. Thaw overnight in the refrigerator.
Reheat gently on the stovetop over low heat for about 10–15 minutes, or until hot throughout. Add a little beef stock if the sauce becomes too thick.
Traditional Italian Recipes You’ll Love

Ossobuco Milanese Recipe (Braised Veal Shanks)
Ingredients
- 4 veal osso buco steaks – veal shanks cut 2 inches thick
- 1 onion – finely chopped
- 50 g butter
- 50 g flour
- ½ glass of white wine
- 1 l beef stock
- salt and pepper – to taste
For the Gremolada
- 1 clove garlic – very finely chopped or pressed with a garlic press
- zest of 1 lemon – grated
- 1 tbsp continental parsley – finely chopped
Instructions
Prepare and Brown the Veal
- Melt the butter in a large pan over low heat. Add the finely chopped onion and cook until soft and translucent.
- Make a few small cuts around the outer membrane of each veal shank to prevent it from curling as it cooks. Lightly coat the veal shanks with flour.
- Add the veal shanks to the pan with the onion and butter. Brown the veal shanks well on both sides.
Braise the Ossobuco
- Pour in the white wine and increase the heat. Cook until the alcohol evaporates.
- Pour in enough beef stock to partially cover the veal shanks.
- Cover the pan, leaving a small opening for steam to escape. Reduce the heat to low and braise for at least 1 ½ hours, or until the meat is very tender. Add more beef stock as needed and turn the veal shanks occasionally to prevent them from sticking to the pan.
Make the Gremolada and Serve
- Finely chop the parsley and garlic, or use a garlic press for the garlic. Finely grate the lemon zest, then mix it with the parsley and garlic.
- Sprinkle the gremolada over the veal shanks a few minutes before the end of the cooking time.
- Season with salt and pepper to taste. Note: Taste the sauce before you add any salt. Beef stock can already contain a considerable amount of salt, and the sauce becomes more concentrated as the ossobuco cooks. Add extra salt only if needed.
- Serve the Ossobuco Milanese warm with saffron risotto, creamy polenta, or mashed potatoes.
Love travelling as much as cooking?
Many of the recipes I share are inspired by places I’ve visited around the world. On Travel with Manu you’ll find destination guides, itineraries and travel inspiration to help you plan your next adventure.















Made this about 5 times now… I did tripple the amout of garlic. Still the best basic osso bucco recipe. Thnx for sharing!
det er så den som skal afprøves i aften 🙂 .. bliver spændende 🙂
Var det godt? 🙂
This looks absolutely divine! Thanks for sharing! =]
I made this for beef oss buco and it was AMAZING! It was so delicious and rich but the gremolada cut the richness and added amazing flavor at the end. LOVED it! I am making it again tonight and wanted to let you know how great it was the first time! I almost don’t want to make this for company because I want it all to myself!
Oh, and I used a pressure cooker to cut the cooking time down for an easy after-work meal.
I’m going to attempt to cook this for my family for dinner tomorrow. What kind of beef stock do you use? Do you make your own, use cubes, or..?
Hi Rachel! I am so glad to hear you are going to try the osso buco! Home made beef stock is the best, but I do not always have the time to make it from scratch… in Italy we only have cubes (beef cubes) so I often used those. Here we also have the ready made liquid stock (which is closer in taste to the home made one), so I have been using this. Either way works fine. Just make sure not to season with salt until the end if you are using any of the stocks for the first time as I find some are saltier than others! 🙂 Let me know how you go! I hope you enjoy it! 🙂
simple and easy to prepare a must try looks good
Osso buco was my kids favorite dish and they would often request it longingly when I would forget to make it for long stretches. Thanks for your wonderful version which I will try soon.
My (clogged) arteries just skipped a beat! What a delicious looking dish! You have been buzzed Chef Manu!
Heheheh Thanks a lot Mia!
this is fabulous manu. i’ve come across another osso bucco somewhere else and started drooling then. wonderful breakdown of recipe…wonder how you manage time for all these photos with two kids around…
Thanks Thoma! Finding the time is hard when you have young kids around, and I am sure you know what I mean!!! I try and do these when my husband is around or when the girls are playing by themselves… I am lucky enough to be able to see them from the kitchen, so that gives me some time to cook! 🙂 Almost all the “internet stuff” I do it in the evening, after they are asleep… 😉
That looks perfectly delicious! Love the pictures too.
Wow… I haven’t had Osso buco in years, and this looks just beautiful! Mouthwatering, and succulent, the perfect Osso Buco!! YUM!
Wow…wow must try recipe
I love osso bucco. Unfortunately, I am now living in an area of the country where veal is not available. I’ve made this dish often enough to know that your recipe is spot on. Your photos are terrific. I hope you have a great day. Blessings…Mary
That gremolada thing is really great, I think it would improve almost any dish 🙂
you make cooking so easy to follow..thank you so much
Delicious! Great tutorial photo, easy to understand.
This looks SO good!
This is a stunner of a dish. It is sophisticated comfort food and the risotto is so perfect with it. Without the gremolada it is good, but that added burst of flavour lifts it into the extra-special.
Its breath-taking. M just drolling over it…. I loved all ur recipes 🙂
Manu you put together such detailed process photos-thankyou! I know how hard and time consuming it can be to do that! 🙂
Thanks Lorraine! You can tell that I believe a picture is “better than a thousand words”! 😉
Gorgeous pictures. and love how you have explained every thing step by step. Would love to try your recipe. Thanks for sharing.
Thanks Visda! I am glad you like it! 🙂
This looks so mouthwatering tasty Manu !! awsm 🙂