Quick Recipe Version (TL;DR)
Quick Ingredients
- 4 veal shanks, cross-cut (10–12 oz/280–340 g each), kitchen twine
- Kosher salt (about 2 tsp) and black pepper (about 1 tsp)
- 1/3 cup (45 g) all-purpose flour
- 2 tbsp olive oil + 1 tbsp unsalted butter
- 1 large onion, 1 large carrot, 2 celery ribs (all finely diced)
- 4 garlic cloves (3 for braise, 1 for gremolata)
- 2 tbsp tomato paste
- 1 cup (240 ml) dry white wine
- 1 cup (240 g) crushed tomatoes
- 2 cups (480 ml) low-sodium veal or chicken stock
- 2 bay leaves, 6 thyme sprigs, 1 rosemary sprig
- Gremolata: 1/2 cup (15 g) chopped parsley, zest of 1 lemon, 1 small garlic clove
- To serve: Creamy Polenta (1 cup/160 g polenta, 4 cups/960 ml water, 1 cup/240 ml milk, 2 tbsp butter, 1/2 cup/45 g Parmigiano) or Risotto Bianco (1.5 cups/300 g Arborio, 5 cups/1.2 L broth, 1/2 cup/120 ml wine, 1/2 small onion, 2 tbsp oil, 3 tbsp butter, 1/2 cup/45 g Parmigiano)
Do This
- 1. Heat oven to 325°F (163°C). Tie shanks; pat dry. Season and lightly dredge in flour.
- 2. Sear in oil and butter until deeply browned on all sides; remove to a plate.
- 3. Cook onion, carrot, celery with a pinch of salt until soft; add garlic 1 minute; stir in tomato paste 2 minutes.
- 4. Deglaze with white wine; reduce by half, scraping up fond.
- 5. Add tomatoes, stock, bay, thyme, rosemary. Return shanks, liquid halfway up. Simmer, cover, braise 2–2¼ hours, turning halfway.
- 6. Mix gremolata (parsley, lemon zest, minced garlic). Cook polenta or risotto.
- 7. Reduce braising liquid to a glossy sauce. Serve shanks over polenta/risotto, spoon sauce, top with gremolata.
Why You’ll Love This Recipe
- Classic Northern Italian comfort: tender veal shanks in a silky, wine-kissed tomato sauce.
- Bright gremolata lifts the rich braise with lemon and herbs for perfect balance.
- Mostly hands-off: the oven does the work while you prep polenta or risotto.
- Restaurant-worthy results with straightforward, home-cook-friendly steps.
Grocery List
- Produce: Onion, carrot, celery, garlic, flat-leaf parsley, lemons, fresh thyme, rosemary
- Dairy: Unsalted butter, milk (for polenta), Parmigiano-Reggiano
- Pantry: Veal shanks, olive oil, all-purpose flour, dry white wine, crushed tomatoes, low-sodium stock, bay leaves, kosher salt, black pepper, stone-ground polenta or Arborio/Carnaroli rice, kitchen twine
Full Ingredients
For the Osso Buco
- 4 veal shanks, cross-cut, 1.5–2 inches (4–5 cm) thick, 10–12 oz (280–340 g) each
- 2 tsp kosher salt, divided (plus more to taste)
- 1 tsp freshly ground black pepper
- 1/3 cup (45 g) all-purpose flour, for dredging
- 2 tbsp extra-virgin olive oil
- 1 tbsp unsalted butter
- 1 large yellow onion, finely diced (about 1.5 cups/225 g)
- 1 large carrot, finely diced (about 1 cup/130 g)
- 2 celery ribs, finely diced (about 1 cup/120 g)
- 3 garlic cloves, thinly sliced
- 2 tbsp tomato paste
- 1 cup (240 ml) dry white wine (e.g., Pinot Grigio or Soave)
- 1 cup (240 g) crushed tomatoes or passata
- 2 cups (480 ml) low-sodium veal or chicken stock
- 2 bay leaves
- 6 fresh thyme sprigs
- 1 fresh rosemary sprig
For the Gremolata
- 1/2 cup (15 g) finely chopped flat-leaf parsley
- 2 tsp finely grated lemon zest (from 1 large lemon)
- 1 small garlic clove, very finely minced
- Pinch of kosher salt
For Serving (Option 1): Creamy Polenta
- 1 cup (160 g) stone-ground polenta
- 4 cups (960 ml) water
- 1 cup (240 ml) whole milk
- 1 tsp kosher salt, plus more to taste
- 2 tbsp (28 g) unsalted butter
- 1/2 cup (45 g) finely grated Parmigiano-Reggiano
For Serving (Option 2): Risotto Bianco
- 5 cups (1.2 L) low-sodium chicken stock, kept hot
- 2 tbsp extra-virgin olive oil
- 2 tbsp unsalted butter, plus 1 tbsp to finish
- 1/2 small onion or 1 large shallot, finely minced (about 1/2 cup/80 g)
- 1.5 cups (300 g) Arborio or Carnaroli rice
- 1/2 cup (120 ml) dry white wine
- 1/2 cup (45 g) finely grated Parmigiano-Reggiano
- Kosher salt and black pepper to taste

Step-by-Step Instructions
Step 1: Prep the shanks and preheat the oven
Heat the oven to 325°F (163°C). Loop kitchen twine around each veal shank to hold the meat against the bone. Pat dry thoroughly. Season all sides with 1.5 tsp kosher salt and the black pepper. Lightly dredge in flour, shaking off excess.
Step 2: Sear for deep flavor
Heat a large, heavy Dutch oven over medium-high. Add the olive oil and butter. When shimmering, sear the shanks until well browned, 3–4 minutes per side and on the edges, working in batches to avoid crowding. Transfer to a plate.
Step 3: Build the soffritto
Lower heat to medium. Add onion, carrot, and celery with a pinch of salt. Cook, stirring, until soft and lightly golden, 8–10 minutes. Add the sliced garlic and cook 1 minute. Stir in tomato paste and cook until brick red and caramelized, 2 minutes.
Step 4: Deglaze with wine
Pour in the white wine. Scrape up browned bits and simmer until reduced by about half, 3–4 minutes. This concentrates the base and removes raw alcohol flavor.
Step 5: Add liquids and braise
Stir in crushed tomatoes and stock; add bay leaves, thyme, and rosemary. Return shanks to the pot in a single layer; the liquid should come about halfway up the sides (add a splash more stock if needed). Bring to a gentle simmer, cover, and transfer to the oven. Braise until the meat is very tender and beginning to pull away from the bone, 2 to 2¼ hours, turning the shanks once halfway through.
Step 6: Make the gremolata
While the shanks braise, mix parsley, lemon zest, minced garlic, and a pinch of salt in a small bowl. Set aside; its fresh aroma will bloom as it rests.
Step 7: Cook your base (polenta or risotto)
Creamy Polenta: Bring water, milk, and 1 tsp salt to a simmer in a medium pot. Whisk in polenta in a slow rain. Reduce heat to low and cook 35–45 minutes, whisking frequently at first and stirring occasionally, until thick and creamy. Finish with butter and Parmigiano; adjust salt.
Risotto Bianco: Keep stock hot. In a wide pot, warm olive oil and 2 tbsp butter over medium. Soften the minced onion 3–4 minutes. Add rice and stir to coat; toast 1–2 minutes. Add wine; simmer until nearly absorbed. Add hot stock a ladle at a time, stirring often and adding more as absorbed, until rice is al dente and creamy, 16–18 minutes. Off heat, stir in remaining 1 tbsp butter and Parmigiano; season to taste.
Step 8: Reduce sauce and serve
Transfer shanks to a warm platter. Discard herb stems and bay leaves. Skim excess fat from the braising liquid. Place pot over medium-high and simmer until the sauce is glossy and slightly thickened, 8–10 minutes. Season with salt and pepper to taste.
Serve shanks over a bed of creamy polenta or risotto bianco. Spoon sauce generously over the top and finish with a shower of gremolata. Remove kitchen twine before serving.
Pro Tips
- Tie the shanks so they keep their shape and braise evenly without falling apart.
- Brown patiently—deep searing builds flavor you cannot get later.
- Keep the braise at a gentle simmer; a hard boil can toughen the meat and cloud the sauce.
- Liquid should sit halfway up the shanks; add a splash of stock if it drops during cooking.
- Even better next day: chill overnight, remove solidified fat, and rewarm gently for ultra-silky sauce.
Variations
- Alla Milanese (bianco): Skip the tomatoes and add a strip of lemon peel to the pot. Serve with saffron risotto for the most classic pairing.
- Red wine braise: Swap half or all of the white wine for a dry red (Barbera or Chianti) for a deeper, richer sauce.
- Pressure cooker: After searing and deglazing, pressure-cook on High for 45 minutes, natural release 15 minutes; reduce sauce on the stovetop.
Storage & Make-Ahead
Cool completely, then refrigerate shanks in their sauce for up to 4 days or freeze up to 3 months. Reheat gently on the stovetop until piping hot, thinning with stock or water if needed. Gremolata is best fresh; make it the day you serve. Polenta can be cooled and sliced to reheat with a splash of water or milk; risotto is best the day of but can be revived with hot stock to loosen.
Nutrition (per serving)
Approximate for 1 shank with 1/4 of the polenta and sauce: 780 calories; 35 g fat; 55 g carbohydrates; 52 g protein; 1,000 mg sodium; 3 g fiber. Values will vary with exact shank size and side choice.


Leave a Reply