Meat · Lombardia

Ossobuco alla Milanese – Authentic Recipe

Ossobuco alla Milanese is one of Lombardy's most beloved dishes — thick cross-cut veal shanks braised low and slow until the meat falls from the bone and the marrow melts into a rich, golden sauce. The finishing touch of gremolata, a Milanese tradition, lifts the whole dish with a burst of lemon, garlic, and parsley. Serve it with a saffron risotto alla Milanese for a pairing that defines the city.

20Prep (min)
100Cook (min)
120Total (min)
4Serves
MediumDifficulty
Ossobuco alla Milanese – Authentic Recipe

Ingredients

  • 4 veal ossobuco (cross-cut hind shanks, about 4 cm thick, 300–350 g each)
  • 1 medium white onion, finely diced
  • 2 medium carrots, finely diced
  • 2 celery stalks, finely diced
  • 2 garlic cloves, 1 whole + 1 minced (for gremolata)
  • 200 ml dry white wine (e.g. Pinot Grigio or Vermentino)
  • 300 ml good-quality veal or beef broth, warm
  • 200 g canned whole peeled tomatoes, crushed by hand
  • 50 g plain flour, for dusting
  • 3 tablespoons extra-virgin olive oil
  • 30 g unsalted butter
  • Grated zest of 1 unwaxed lemon (for gremolata)
  • Small bunch of flat-leaf parsley, finely chopped (for gremolata)
  • Fine sea salt and freshly ground black pepper

Method

  1. Pat the veal shanks completely dry with kitchen paper. Using kitchen scissors or a sharp knife, make 3–4 small cuts through the membrane on the outer edge of each shank — this prevents them from curling during cooking. Season generously on both sides with salt and pepper, then dust lightly with flour, shaking off any excess.
  2. Heat the olive oil and butter in a wide, heavy-bottomed casserole or Dutch oven over medium-high heat. Once the butter foams and subsides, add the shanks in a single layer. Sear undisturbed for 4–5 minutes per side until deeply golden-brown. Remove to a plate and set aside.
  3. Reduce the heat to medium. Add the diced onion, carrot, celery, and the whole garlic clove to the same casserole. Season lightly with salt and cook, stirring occasionally, for 8–10 minutes until the vegetables have softened and turned golden.
  4. Pour in the white wine and raise the heat to high. Scrape up all the caramelised bits from the bottom of the pan with a wooden spoon and allow the wine to reduce by about half, approximately 3–4 minutes.
  5. Add the crushed tomatoes and the warm broth. Stir to combine, then nestle the veal shanks back into the casserole in a single layer, standing them upright so the marrow stays in the bone. The liquid should come about two-thirds up the sides of the shanks — add a little more broth if needed.
  6. Bring to a gentle simmer, then cover with a tight-fitting lid and reduce the heat to very low. Braise for 1 hour 30 minutes, turning the shanks once halfway through, until the meat is completely tender and beginning to pull away from the bone. Check occasionally and add a splash of warm broth if the sauce reduces too quickly.
  7. While the ossobuco finishes cooking, prepare the gremolata: combine the finely chopped flat-leaf parsley, the minced garlic, and the lemon zest in a small bowl. Mix well and set aside at room temperature.
  8. Remove the lid and allow the sauce to reduce over medium heat for a further 5 minutes if it seems too loose — it should be glossy and coating. Taste and adjust seasoning. Serve the ossobuco on warmed plates, spooning the braising sauce generously over each shank and finishing with a good pinch of gremolata scattered on top.

Tips from the kitchen

💡 Do not skip cutting the membrane: that thin silver skin on the outside of each shank tightens aggressively with heat and will cause the meat to buckle and cook unevenly if left intact.
💡 The marrow is the prize — keep the shanks upright during braising so the rich marrow stays in the cavity and enriches the sauce from within. Some Milanese cooks even tie the shanks with kitchen twine to maintain their shape.
💡 Gremolata must be added at the very last moment and never cooked — the fresh raw flavour of lemon zest, garlic, and parsley is what gives Ossobuco alla Milanese its signature brightness and distinguishes it from a generic braise.

Frequently asked questions

Can I make Ossobuco alla Milanese without tomatoes?

Yes — the 'bianco' version omits tomatoes entirely and is actually considered the older, more traditional preparation. Simply skip the canned tomatoes and increase the broth by 100 ml. The result is a paler, more delicately flavoured sauce that lets the veal take centre stage.

What should I serve with Ossobuco alla Milanese?

The canonical pairing is Risotto alla Milanese — saffron risotto — which soaks up the braising juices beautifully. In Milanese households the two dishes are considered inseparable. Polenta is a close second choice, also traditional in Lombardy.

Can I prepare Ossobuco alla Milanese the day before?

Absolutely, and it actually improves overnight. Cool it completely, refrigerate covered, then gently reheat over a low flame with a splash of broth. The flavours deepen significantly. Just always prepare and add the gremolata fresh when serving — never reheat it with the dish.