Ossobuco alla Milanese
Tender braised veal shanks slow-cooked until the meat falls from the bone, finished with a bright gremolata. This classic Milanese dish features a rich, savory sauce balanced by fresh lemon and herbs.

A little context
Originating in the Lombardy region of northern Italy, Ossobuco alla Milanese dates back to the 19th century. It is traditionally served with Risotto alla Milanese, which shares the same saffron profile, or creamy polenta. The dish is named after the bone hole (osso buco) which holds the marrow, a prized element of the meal. Authentic preparation relies on white wine rather than red, and the gremolata is essential to cut through the richness.
Method
- 01
Prep the veal
Pat the veal shanks dry with paper towels. Tie kitchen twine around the circumference of each shank to hold the meat together. Season generously with salt and pepper, then dredge lightly in flour, shaking off excess.
- 02
Sear the meat
Heat 30 g butter and olive oil in the Dutch oven over medium-high heat. Sear the shanks until deeply browned on both sides, about 5 minutes per side. Remove shanks and set aside on a plate.
- 03
Sweat the vegetables
Reduce heat to medium. Add the remaining butter to the pot. Stir in onions, carrots, and celery. Cook until softened and translucent, about 8 minutes, stirring occasionally.
- 04
Deglaze and build sauce
Stir in tomato paste and cook for 1 minute. Pour in the white wine to deglaze, scraping up browned bits from the bottom. Simmer until wine is reduced by half, about 5 minutes.
- 05
Braise the shanks
Return the veal shanks to the pot, nestling them into the vegetables. Pour in the warm stock until the liquid reaches halfway up the meat. Bring to a simmer, then cover tightly.
- 06
Slow cook
Transfer to a preheated oven at 160°C (325°F). Braise for 2 to 2.5 hours until the meat is fork-tender and pulls away from the bone easily.
- 07
Make the gremolata
While the meat cooks, combine minced garlic, lemon zest, and chopped parsley in a small bowl. Set aside until ready to serve.
- 08
Rest and serve
Remove from oven and let rest for 10 minutes. Remove twine. Spoon sauce over the shanks and top generously with gremolata just before serving.
Pro tips
- ✦Ask your butcher to cut the shanks 3-4 cm thick to ensure they don't dry out.
- ✦Save the marrow from the bone; it is a delicacy often spread on toasted bread.
- ✦Skim excess fat from the sauce surface before serving for a cleaner taste.
- ✦Gremolata must be added at the very end to preserve the fresh lemon aroma.
- ✦If the sauce is too thin, remove shanks and simmer liquid uncovered for 10 minutes.
Shop this recipe
As an Amazon Associate we earn from qualifying purchases.
Substitutions
- veal shanks → beef shanks (increase braise time by 30 minutes)
- white wine → dry vermouth (adds herbal depth)
- veal stock → chicken stock (lighter flavor but still authentic)
Storage
Store cooled shanks and sauce together in an airtight container in the fridge for up to 4 days. Freeze in portioned containers for up to 3 months. Reheat gently on the stovetop.
What to serve with it
- Risotto alla Milanese
- Creamy polenta
- Pinot Grigio or Chardonnay
- Saffron risotto
FAQ
Can I use beef shanks instead of veal?+
Yes, beef shanks work well but are tougher. Increase braising time to 3 hours and check for tenderness.
Why is my sauce too thin?+
Ossobuco relies on collagen breaking down to thicken the sauce. If thin, remove meat and reduce the liquid on the stovetop.
Can I make this in a slow cooker?+
Yes, sear meat and vegetables first, then cook on low for 6-7 hours.
Share this recipe
Notes from the community
Sign in to leave a note.
No notes yet — be the first.





