Classic Osso Buco Milanese (Printable)

Tender veal shanks slowly braised in tomato and vegetable sauce with fresh gremolata topping.

# What You Need:

→ Veal and Seasoning

01 - 4 veal shanks (about 12 oz each, cross-cut, bone-in)
02 - Salt and freshly ground black pepper, to taste
03 - 1/3 cup all-purpose flour (gluten-free flour if needed), for dredging

→ Vegetables

04 - 2 tablespoons olive oil
05 - 2 tablespoons unsalted butter
06 - 1 large onion, finely chopped
07 - 2 carrots, diced
08 - 2 celery stalks, diced
09 - 4 garlic cloves, minced

→ Braising Liquid

10 - 1 cup dry white wine
11 - 1 can (14 oz) diced tomatoes with juice
12 - 1 1/2 cups beef or veal stock
13 - 2 tablespoons tomato paste
14 - 2 bay leaves
15 - 1 teaspoon dried thyme
16 - Zest of 1 lemon (reserve for gremolata)

→ Gremolata

17 - 2 tablespoons fresh flat-leaf parsley, finely chopped
18 - 1 garlic clove, minced
19 - Zest of 1 lemon (from above)

# How-To Steps:

01 - Pat veal shanks dry and season generously with salt and black pepper. Dredge lightly in flour, shaking off excess.
02 - Heat olive oil and butter in a large Dutch oven over medium-high heat. Brown veal shanks on all sides, about 3 to 4 minutes per side. Transfer to a plate.
03 - Add onion, carrots, celery, and garlic to the same pot. Sauté until softened, approximately 6 minutes.
04 - Stir in tomato paste and cook for 1 minute. Deglaze with white wine, scraping up browned bits from the bottom.
05 - Add diced tomatoes with juice, stock, bay leaves, thyme, and half of the lemon zest. Stir to combine.
06 - Return veal shanks to the pot in a single layer, spoon sauce over them, and bring to a simmer. Cover and transfer to a preheated oven at 325°F. Braise for 2 hours or until veal is fork-tender.
07 - Mix parsley, garlic, and remaining lemon zest to make gremolata.
08 - Remove cooked shanks to a serving platter. Skim fat from sauce if necessary and simmer to thicken if desired. Spoon sauce over shanks and sprinkle with gremolata before serving.

# Expert Suggestions:

01 -
  • The veal becomes impossibly silky while the sauce deepens into something rich enough to make you want a spoon just for that.
  • Gremolata at the end cuts through all that richness with a bright hit of lemon and garlic that feels like a secret handshake.
  • It's the kind of dish that makes your kitchen smell so good your neighbors might knock on the door.
02 -
  • The initial browning of the veal is non-negotiable—it's the difference between a silky braise and one that tastes watered down.
  • Don't skip covering the pot; an uncovered braise evaporates too quickly and the meat dries out instead of becoming tender.
  • Gremolata must go on just before eating, or it loses its brightness and the whole dish feels flat.
03 -
  • If your sauce seems thin after cooking, remove the veal to the serving platter and simmer the sauce on the stovetop for 5–10 minutes to concentrate it—thick sauces cling to the meat better and taste richer.
  • The day before serving, make the whole braise and refrigerate it covered; the flavors marry overnight and reheating is nearly foolproof, giving you one less thing to worry about when people arrive.
Go Back