A festive Milanese plate of slow-braised osso buco with sweet roasted onions, served alongside classic saffron risotto.
Osso buco alla Milanese is one of Lombardy's great holiday dishes — veal shanks braised low and slow until the meat falls from the bone and the marrow inside turns soft and spoonable, traditionally served with saffron risotto (risotto alla Milanese) as its essential partner. The two dishes are almost never served apart in their home region, the rich, wine-based braise balanced by the risotto's delicate saffron perfume. The shanks are seared first to build a deep crust, then braised with white wine, tomato, and a generous amount of sweet roasted onion, cooked low and slow until they nearly dissolve into the sauce, adding body and sweetness without needing much added fat. A gremolata of lemon zest, garlic, and parsley is stirred in at the very end, a bright counterpoint that cuts through the richness of the braise. This is a genuine special-occasion dish — the kind of meal that takes hours of gentle braising but very little active effort, making it well suited to a holiday table where the oven can do most of the work while everyone else is busy.
Serves 5
Preheat oven to 325°F (165°C). Season shanks with salt and dredge lightly in flour. Heat 2 tbsp olive oil in a Dutch oven over medium-high heat and sear shanks 3-4 minutes per side until deeply browned. Remove and set aside.
In the same pot, add remaining oil, onions, carrot, and celery. Cook 12-15 minutes over medium heat until the onions turn soft, sweet, and deeply golden.
Pour in white wine, scraping up any browned bits. Simmer 3-4 minutes until reduced slightly. Add crushed tomatoes, stock, and bay leaves. Return shanks to the pot, nestling them into the liquid.
Cover and transfer to the oven. Braise 2 to 2.5 hours until the meat is fork-tender and nearly falling off the bone.
About 30 minutes before the shanks finish, warm the chicken stock with saffron. In a separate pan, toast arborio rice in a little olive oil 1-2 minutes, then add warm stock a ladleful at a time, stirring often, for 18-20 minutes until creamy and al dente. Stir in Parmesan.
Combine lemon zest, garlic, and parsley in a small bowl.
Plate the risotto, top with a braised shank and plenty of the onion-tomato sauce, and finish with a scatter of fresh gremolata.
Dredge the shanks lightly in flour before searing — it helps them brown deeply and also thickens the braising liquid slightly as it cooks.
Cook the onions low and slow until truly golden and sweet; rushed onions stay sharp and won't give the sauce the depth it needs.
Add the gremolata only at the very end, off the heat — it's meant to stay bright and fresh against the long-braised richness of the shanks.
Use beef shanks in place of veal if that's more accessible, extending the braise time by 30-45 minutes.
Swap saffron risotto for creamy polenta if you're short on time, since risotto needs active attention.
Add pancetta to the braise's vegetable base for extra richness.
Refrigerate the braised shanks up to 4 days in an airtight container; they often taste even better the next day. Risotto is best made fresh, though leftovers can be reheated with a splash of stock and reshaped into risotto cakes.
Osso buco alla Milanese and risotto alla Milanese are both Lombard classics, historically paired together at festive meals; saffron's presence in the risotto is often traced to a local legend about a stained-glass worker who added saffron to his wedding risotto as a joke that became tradition.
Yes, and it's recommended — braised dishes like this deepen in flavor overnight; reheat gently covered in a low oven before serving.
This usually means the stock was added too quickly or the rice wasn't stirred often enough — add stock gradually and stir frequently for the right creamy texture.
You can, but it adds essential brightness that balances the rich, slow-braised sauce — even a simple squeeze of lemon at the end helps if you skip the full gremolata.
Per serving (480g / 16.9 oz) · 5 servings total
Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.
Chat with AI Chef →Join the conversation
Sign in to leave a comment and save your favourite recipes
Have feedback or need help?
We read every email and reply within 1–2 business days.
© 2026 MyCookingCalendar. All rights reserved.