Tender, fall-off-the-bone veal shanks braised in white wine, tomatoes, and aromatic vegetables until melt-in-your-mouth perfection. Topped with bright gremolata, this Milanese classic is the ultimate special-occasion meal.

Osso buco is the showpiece of Milanese cuisine — veal shanks braised low and slow in white wine, tomatoes, and aromatic vegetables until the meat falls off the bone, surrounded by a glossy, deeply flavored sauce, and topped with gremolata (a bright garnish of lemon zest, garlic, and parsley). The name means 'bone with a hole' in Italian, referring to the prized marrow-filled bone at the center. The marrow, rich and unctuous, is considered the chef's reward and is traditionally scooped out and spread on bread.
Osso buco delivers one of the most extraordinary eating experiences in Italian cooking. The veal becomes so tender it yields to gentle pressure, and the braising liquid reduces to a sauce of profound depth. The finishing gremolata cuts through the richness with brightness and freshness. This is special-occasion cooking that rewards patience with a truly magnificent result.
Osso buco is the ideal centerpiece for a formal dinner party, a special anniversary meal, or a Sunday slow-cooking project. It serves beautifully on a platter with saffron risotto and impresses guests with its visual drama. The make-ahead quality makes it stress-free for entertaining.
Tie kitchen twine around each shank to maintain the presentation during braising. Sear deeply on all sides for maximum flavor development. Braise at the gentlest possible simmer. Make the gremolata fresh and add it only at serving time — never cook it.
The defining ingredient — cross-cut veal shanks about 1.5-2 inches thick, centered around the marrow-filled leg bone. The surrounding meat is rich in collagen that transforms into gelatin during the long braise, creating the sauce's luxurious, almost unctuous body. Ask your butcher for shanks of even thickness.
Used to deglaze the pan and build the braising liquid. The wine's acidity tenderizes the meat and contributes brightness that balances the richness of the veal. Use a good Pinot Grigio, Soave, or any dry Italian white you would drink.
The essential garnish that elevates osso buco from a good braise to a transcendent dish. The combination of raw lemon zest, garlic, and fresh flat-leaf parsley provides vibrant, fresh contrast to the deep, slow-cooked flavors. It must be made fresh and added only at serving.
The aromatic vegetable base that provides the foundation of the braising liquid. The soffritto sweats in olive oil first, then forms the body of the sauce as it breaks down during the long cooking. Use roughly equal parts of each vegetable for the most balanced flavor.
Beef shanks (also called beef osso buco) can replace veal for a more affordable, bolder-flavored version — increase braising time to 3-3.5 hours. Lamb shanks work beautifully with the same technique and sauce, giving a more rustic, more intensely flavored result. Dry white vermouth can replace the white wine. For a tomato-free version (classic Milanese style), omit the tomatoes and increase the broth — the sauce will be paler and more delicate.
Tie kitchen twine around the circumference of each veal shank to help them hold their shape during cooking. Pat the shanks dry with paper towels and season generously on both sides with 1 teaspoon salt and 1/2 teaspoon black pepper. Place 1/2 cup flour in a shallow dish. Dredge each shank in flour, shaking off any excess. Heat 3 tablespoons olive oil in a large, heavy-bottomed Dutch oven or braising pan over medium-high heat. Working in batches if needed, sear the veal shanks for 3-4 minutes per side until deeply golden brown on all sides. Transfer to a plate and set aside.
Reduce heat to medium. In the same pot, add 2 tablespoons butter. Once melted, add 1 diced onion, 2 diced carrots, and 2 diced celery stalks (the classic Italian soffritto). Cook for 6-8 minutes, stirring occasionally, until the vegetables are softened and lightly caramelized. Add 4 cloves minced garlic and cook for 1 minute until fragrant. Scrape up any browned bits from the bottom of the pot.
Pour in 1 cup dry white wine. Increase heat to medium-high and let the wine simmer for 3-4 minutes, scraping the bottom of the pot, until reduced by half. Add 1 can diced tomatoes (with their juice), 2 cups beef or veal stock, 2 bay leaves, and 3 sprigs fresh thyme. Stir to combine and bring to a simmer.
Return the seared veal shanks to the pot, nestling them into the braising liquid. The liquid should come about halfway up the sides of the shanks—add more stock if needed. Bring to a gentle simmer, then cover the pot with a tight-fitting lid. Reduce heat to low or transfer the covered pot to a preheated 325°F (165°C) oven. Braise for 2 to 2.5 hours, turning the shanks once halfway through, until the meat is extremely tender and falling off the bone. Check occasionally and add more stock if the liquid level drops too low.
While the osso buco finishes braising, make the gremolata. In a small bowl, combine the zest of 1 lemon, 1/4 cup finely chopped fresh parsley, and 2 cloves minced garlic. Mix well and set aside. This bright, fresh garnish is traditional and essential.
Remove the osso buco from the pot and place on a serving platter. Discard the kitchen twine, bay leaves, and thyme sprigs. Skim any excess fat from the surface of the braising liquid. If the sauce is too thin, simmer it uncovered over medium-high heat for 5-10 minutes to reduce and thicken. Taste and adjust seasoning with salt and pepper. Spoon the sauce and vegetables over the shanks. Sprinkle generously with gremolata. Serve immediately with risotto alla Milanese, creamy polenta, or mashed potatoes.
Techniques that separate good from great
During the long braising process, the connective tissue that holds the veal meat to the bone breaks down and the meat wants to separate. Tying the shanks at the start keeps the elegant cross-section presentation intact throughout cooking. Remove the twine just before serving.
The searing step is not just cosmetic. The deep brown crust on each shank creates complex, caramelized flavors through the Maillard reaction that cannot be developed during braising. Use a very hot pan, dry the meat thoroughly, and resist moving the shanks for 3-4 minutes per side.
Gremolata — the essential finishing garnish of lemon zest, garlic, and parsley — is added after serving, not cooked into the braise. Heat destroys the volatile compounds in the lemon zest and garlic that give gremolata its bright, fresh quality. A generous spoonful on each portion transforms the dish.
The cooking liquid should barely simmer throughout the braising. Vigorous boiling toughens the meat and makes the braising liquid cloudy and overly reduced. The ideal is a steady, gentle bubble every few seconds. If the liquid is boiling too hard, reduce heat or crack the lid slightly.
Different ways to make this dish your own
Replace veal shanks with beef shanks for a more affordable, more readily available version with a bolder, beefier flavor. Increase the braising time to 3-3.5 hours and add an extra splash of red wine alongside the white for depth.
Use lamb shanks instead of veal for a more intense, gamey flavor that stands up beautifully to the wine-tomato braise. Lamb shanks are often easier to find and more affordable than veal. Braise for 2.5-3 hours until completely tender.
The original Milanese version from before tomatoes were common in Italy. Braise without canned tomatoes, using only white wine, broth, and soffritto for a paler, more delicate sauce that lets the veal's own flavor shine completely.
After searing and building the braise, cook in a pressure cooker (Instant Pot) on high pressure for 35-40 minutes with natural release. The veal becomes equally tender in a fraction of the time, though the sauce will need to be reduced separately afterward.
Perfect pairings to complete the meal
The definitive, canonical accompaniment — golden, saffron-scented risotto is the traditional bed on which osso buco is served in Milan. The neutral, creamy rice provides the perfect base for the rich braised meat and absorbs the sauce beautifully.
Soft, butter-enriched polenta is perhaps even easier than risotto to prepare alongside osso buco. Its creamy, cornmeal flavor is a natural partner for the wine-braised veal and the acidic gremolata.
Rich, buttery mashed potatoes are a crowd-pleasing alternative base. The starchy potato soaks up the braising liquid and provides comforting, satisfying contrast to the tender, falling-apart veal.
Serve thick slices of toasted ciabatta alongside specifically for eating the bone marrow. Use a small spoon to scoop the rich, unctuous marrow from the bone and spread on the bread — this is considered the best bite of the entire meal.
Keep it fresh and plan ahead
Osso buco stores beautifully for up to 3 days in the refrigerator. The flavors deepen overnight as the braising liquid continues to infuse the meat. Store with the sauce and make fresh gremolata just before reheating and serving.
Freezes very well for up to 3 months. The braised meat structure holds up well to freezing. Thaw overnight in the refrigerator and reheat gently on the stovetop with a splash of broth to loosen the sauce. Add fresh gremolata after reheating.
Osso buco is an ideal make-ahead dish for dinner parties. Braise 1-2 days ahead, cool, and refrigerate. Skim any solidified fat from the top before reheating. The flavor will be noticeably better than freshly made. Make gremolata fresh just before serving.
Reheat gently in the Dutch oven or braising pan over medium-low heat, covered, with a splash of broth to loosen the sauce. Turn the shanks once during reheating. Allow 15-20 minutes for the meat to heat through gently without drying out. Spoon the reheated sauce over the meat before serving.
Be the first to review this recipe!
Turn what you already have in your fridge into delicious meals. Our AI-powered generator creates personalized recipes from your ingredients.
Browse more like this:
Discover more delicious recipes similar to what you're cooking
Join our newsletter and discover new favorites delivered straight to your inbox. No spam, just tasty inspiration.