Ossobuco Milanese (Braised veal shanks)

/5

PRESENTATION

“This is a dish best left to the Milanese, being a true specialty of Lombard cuisine. I therefore describe it without any pretension, fearing to be mocked.” With this humble introduction, Pellegrino Artusi — the author of the very first Italian cookbook — presented the classic Ossobuco alla Milanese, a dish that has stood the test of time since at least the Middle Ages.

This traditional Italian recipe is built around a distinctive cut of meat: braised veal shanks slowly cooked until incredibly tender, with the rich marrow (osso buco literally means “bone with a hole”) melting into the sauce and creating a depth of flavor that is both comforting and luxurious.

One of the defining elements of authentic Milanese ossobuco is the gremolada — a vibrant mix of finely chopped parsley, garlic, and lemon zest added just before serving. This finishing touch brightens the dish and perfectly balances its rich, savory character.

In Italy, ossobuco is traditionally served as a complete meal alongside Risotto alla Milanese, the iconic saffron-infused rice of northern Italy. However, it can also shine as a hearty main course on its own, paired with creamy polenta or seasonal vegetables. For a creative twist, try variations like ossobuco with peas or even turkey ossobuco for a lighter take on the classic.

Deeply rooted in Italian culinary tradition and beloved for its melt-in-your-mouth texture and bold flavors, Ossobuco alla Milanese is more than just a recipe — it’s a taste of Lombardy’s rich history and one of the most celebrated dishes in Italian cuisine.

If you like Lombard cuisine don't miss these recipes too:

 

INGREDIENTS

For the Ossobuco
Veal marrow bones 2.2 lbs (1.2 kg) - (4 pieces of 300 g each)
Yellow onions 1.7 cups (250 g)
White wine 1.7 oz (50 g)
Type 00 flour 0.4 cup (50 g)
Extra virgin olive oil 3 ½ tbsp (50 g)
Butter 3 tbsp (40 g)
Fine salt to taste
Black pepper to taste
For the Gremolada
Parsley 1 tuft
Garlic 2 cloves
Lemon peel 1 - untreated
For the Meat Broth
Beef 1.3 lbs (600 g) - bones
Celery 1 rib
Carrots 1
Onions ½
Water 8 ½ cups (2 l) - approximately
Extra virgin olive oil to taste
For the Risotto
Carnaroli rice 1.6 cups (320 g)
Marrow 2 oz (50 g)
Butter 3 tbsp (40 g)
Dry white wine 1.7 oz (50 g)
Saffron 0.3 - (2 sachets of 0.15 g each)
For Mantecare
Parmigiano Reggiano PDO cheese 2.8 oz (80 g) - cold
Butter 3 tbsp (40 g) - cold
Preparation

How to prepare Ossobuco Milanese (Braised veal shanks)

To prepare Milanese ossobuco, start with the broth: clean and coarsely chop the vegetables 1, then heat a drizzle of oil in a large pot. Add the bones 2 and toast them on both sides over medium-high heat for 3-4 minutes, then add the vegetables 3.

Sauté for another 3-4 minutes, then cover with water 4 5, cover with the lid 6 and bring to a boil. Let it simmer over low heat for about 2 hours from boiling.

Meanwhile, take care of the ossobuco: peel the onions and cut them into wedges 7. In a large pan, heat a swirl of oil, then add the onions and stew them over medium-low heat for 15-20 minutes. At this point, deglaze with half of the white wine 9 and let the alcohol evaporate completely, then slightly lower the heat and cook for another 10 minutes.

In the meantime, take the ossobuco and, using a pair of scissors, make 3 cuts on the connective tissue of each to prevent them from curling during cooking 10. When the onions are nicely golden 11, remove them from the pan 12 and set aside.

Place the flour in a baking dish and season it with salt 13 and pepper, then mix well. Dredge the ossobuco in the flour on both sides 14 and gently shake off the excess flour 15.

Pour 1/4 cup of oil into the pan where you cooked the onions, add the butter 16 and let it melt, then lay the ossobuco inside and brown over medium-high heat without touching them 17. When they are well browned on one side, turn them over 18 and brown them the same way.

Now deglaze with the remaining 2 tablespoons of wine 19 and let it evaporate. Meanwhile, the broth will be ready, so pour it into the pan until it almost covers the meat 20. Finally, add the onions 21.

Cover with the lid 22, lower the heat, and cook for 55-60 minutes, turning the ossobuco halfway through cooking. During the last 10 minutes, remove the lid to reduce the sauce. Meanwhile, prepare the gremolada: peel the garlic cloves and remove the inner germ, then boil them in boiling water for 2 minutes 23; this way the garlic flavor will be milder, but if you prefer, you can skip this step. Drain the garlic cloves and finely chop them together with the bunch of parsley 34.

While the ossobuco is cooking, take care of the risotto: in a large saucepan, put the butter 25 and the marrow 26, then stir over low heat to melt them 27.

Add the rice 28 and toast it for 3-4 minutes over medium heat, stirring often 29. When the grains are hot to the touch, deglaze with the white wine 30 and let it evaporate completely. 

At this point, add a ladle of hot broth, filtering it through a sieve 31, and cook the rice, adding broth as it is absorbed; it will take about 18 minutes 32. When there are 5 minutes left until the end of the risotto's cooking time, pour the saffron into a small bowl along with a small amount of broth 33.

Mix well to dissolve it 34, then pour it into the pan with the risotto 35. Stir well 36 and finish cooking. 

When the rice is cooked, turn off the heat and stir in the cold cubed butter 37 and grated Parmigiano Reggiano 38. Stir 39 and add another splash of broth, if necessary.

At this point, the ossobuco will also be ready, so turn off the heat and season with the minced parsley and garlic 40 and grated lemon zest 41. Your Milanese ossobuco is ready to be served, accompanied by the inevitable saffron risotto 42

Storage

Milanese ossobuco can be stored in the refrigerator for one day in an airtight container. Freezing is not recommended.

It is preferable to consume Risotto alla Milanese when freshly made. If necessary, it can be stored in the refrigerator for 1-2 days, being careful to heat it with a little broth.

Tip

For a gluten-free version, you can replace all-purpose flour with rice flour.

For the translation of some texts, artificial intelligence tools may have been used.