Nonna Fiore’s Ossobuco alla Milanese — A Recipe from Lombardia

In Milano, Sunday lunch was never rushed, and my Zia Elvira’s kitchen smelled of butter and wine from ten in the morning. She kept a copper pot just for ossobuco, dented on one side from a fall down her tiny apartment stairs decades before I was born, and she swore the dent made the sauce taste better. I believed her completely. She would stand the veal shanks up in the pot like little soldiers, tie them with string so the marrow stayed put, and tell me that the bone was the best part, the treasure hidden inside, to be dug out with a thin spoon at the very end of the meal. My cousins and I would fight quietly over whose shank had the fattest marrow. When she scattered the gremolata over the top, that bright confetti of lemon and parsley, the whole table would go quiet for a moment, breathing it in before anyone touched a fork. That fragrance, sharp and green against the deep, slow-cooked meat, is Milano to me more than any postcard. Follow this ossobuco alla milanese recipe step by step and bring the flavours of Lombardia into your kitchen.

Ossobuco alla Milanese recipe — authentic Italian Lombardia style

Nonna Fiore’s Ossobuco alla Milanese — A Recipe from Lombardia

Prep Time 25 minutes
Cook Time 2 hours 30 minutes
Servings: 4

Ingredients
  

  • 4 veal shanks (ossobuco), 4–5 cm / 1.5–2 inches thick, tied with kitchen string (about 1.4 kg / 3 lbs total)
  • Salt and freshly ground black pepper, to taste
  • 60g / ½ cup all-purpose flour, for dredging
  • 60g / 4 tablespoons unsalted butter
  • 2 tablespoons olive oil
  • 1 medium onion, finely chopped (about 150g / 1 cup)
  • 1 carrot, finely chopped (about 80g / ⅔ cup)
  • 1 celery stalk, finely chopped (about 80g / ⅔ cup)
  • 250ml / 1 cup dry white wine
  • 2 tablespoons tomato paste (or 100g / ⅓ cup passata, optional but traditional in many Milanese homes)
  • 500ml / 2 cups beef or veal broth, plus more as needed
  • Zest of 1 organic lemon, finely grated
  • 2 garlic cloves, very finely minced
  • 30g / ½ cup flat-leaf parsley, finely chopped
  • Risotto alla Milanese, to serve

Method
 

  1. Take your veal shanks out of the fridge a good half hour before cooking so they lose their chill, then pat them completely dry with paper towel. Tie a loop of kitchen string around the outside of each shank like a little belt; this keeps the meat clinging to the bone through the long braise instead of curling away and falling apart. Season both sides generously with salt and pepper, then dredge each shank in the flour, tapping off the excess. The flour is not just for crust, it will also help thicken our sauce later, so do not skip it even if you are usually shy with dredging.
  2. Warm the butter and olive oil together in a heavy pot wide enough to hold the shanks in a single layer, over medium-high heat, until the butter foams and just starts to smell nutty. Lay the shanks in carefully and do not move them for three or four minutes, letting a deep golden crust form before you turn them. Brown all sides, including the edges, working in batches if your pot is crowded, because shanks touching each other will steam instead of caramelize. This crust is where much of your flavour lives, so be patient and resist the urge to rush it. Lift the browned shanks onto a plate and set aside.
  3. Into the same pot, with all those good browned bits still stuck to the bottom, add the onion, carrot and celery. Cook gently over medium-low heat, stirring often and scraping up the browned bits with your spoon, until the vegetables soften and turn a light gold, about eight to ten minutes. This is your soffritto, the quiet base of almost every great Northern Italian braise, and it needs nothing more than patience and a bit of salt to draw out its sweetness. If the pot looks dry, splash in a spoonful of broth rather than let anything scorch.
  4. Pour in the white wine and turn the heat up slightly, scraping the bottom of the pot firmly so every last flavourful morsel lifts into the liquid. Let it bubble hard for two or three minutes until the sharp alcohol smell fades and turns pleasantly tangy. This step is called deglazing, and it is where a good sauce turns into a great one, so do not skip it even when you are eager to move ahead. Stir in the tomato paste if using, letting it cook for a minute to lose its raw edge.
  5. Nestle the browned shanks back into the pot standing upright if you can, so the marrow stays inside the bone rather than melting out into the sauce. Pour in the broth until it comes about two thirds of the way up the sides of the meat, cover the pot, and reduce the heat to a bare simmer. Let it cook gently for about two hours, turning the shanks once or twice, and adding a little more warm broth if the sauce reduces too far. Your kitchen will smell like a Milanese trattoria long before the meat is ready, and that is exactly as it should be.
  6. After about two hours, test a shank with the tip of a knife; it should slide in with barely any resistance, and the meat should feel like it wants to fall from the bone but not quite yet. If it still feels firm, cover and continue simmering in twenty minute intervals, checking each time, since every shank cooks at its own pace depending on size. Uncover for the final fifteen minutes of cooking to let the sauce thicken naturally to a rich, spoonable consistency. Taste the sauce now and adjust the salt, since the flavours have concentrated considerably since you started.
  7. While the ossobuco finishes its last simmer, make the gremolata, which must be prepared fresh and never in advance, as its whole purpose is fragrance. Finely chop the parsley, mince the garlic as small as you can manage, and grate the lemon zest directly over the pile so the fragrant oils fall right onto the herbs. Toss everything together with your fingers just until combined; do not chop it further or the lemon will turn bitter and dull. This little mixture is what transforms a wonderful braise into the unmistakable ossobuco alla milanese.
  8. Carefully lift the shanks onto warm plates or a large platter, spoon the thickened braising sauce generously over the top, and scatter the fresh gremolata across everything right before serving so its brightness stays lively. Serve alongside a soft, saffron-golden risotto alla Milanese, letting a little of the ossobuco sauce mingle into the rice at the table. Set out small narrow spoons if you have them, because the marrow inside the bone is the reward every guest is quietly hoping for. Eat it while everything is hot, and let the table go a little quiet the way mine always did.

Notes

NONNA’S NOTES
🔄 No veal shanks at your butcher? Beef shin cut into thick rounds works beautifully too, though you may need to extend the braising time by thirty to forty-five minutes for full tenderness.
🔪 Tie the shanks with string before browning and keep them upright while braising whenever your pot allows it; this small step keeps every precious drop of marrow sealed inside the bone until serving time.
🔬 Long, slow, moist heat breaks down the tough collagen in the shank’s connective tissue into soft, silky gelatin, which is exactly what gives the braising liquid its glossy body without any extra thickener needed.
❤️ My Zia Elvira always said a true Milanese never argues about ossobuco with tomato or without, only about whose marrow spoon is thinner, and to this day I keep her narrow silver spoon in a drawer just for this dish.