Ossobuco (Osso Buco) — Italian Braised Veal Shanks is one of my favorite traditional Italian comfort food recipes, featuring tender veal shanks slowly braised in a rich, aromatic sauce made with vegetables, white wine, tomatoes, and broth. This classic Milanese-inspired dish transforms simple ingredients into an incredibly flavorful meal, with meat so tender it practically falls off the bone.
What makes my homemade ossobuco especially delicious is the combination of slow cooking and fresh gremolata. The rich braising sauce develops deep, savory flavors, while the parsley, garlic, and lemon zest add a bright, refreshing finish. I love serving this hearty Italian specialty over creamy risotto, soft polenta, or buttery mashed potatoes for a comforting dinner.
Ingredients
(Tip: You'll find the full list of ingredients and measurements in the recipe card below.)
For the Ossobuco:
4 veal shanks, about 1½ inches thick
1 teaspoon salt
½ teaspoon freshly ground black pepper
½ cup all-purpose flour
2 tablespoons olive oil
2 tablespoons unsalted butter
1 large onion, finely diced
2 carrots, finely diced
2 celery stalks, finely diced
3 garlic cloves, minced
1 cup dry white wine
1 cup crushed tomatoes
2 cups beef or veal broth
2 tablespoons tomato paste
1 teaspoon dried thyme
1 bay leaf
½ teaspoon dried rosemary
For the Gremolata:
¼ cup fresh flat-leaf parsley, finely chopped
1 garlic clove, finely minced
1 tablespoon finely grated lemon zest
Directions
Prepare the Veal Shanks:
I start by patting the veal shanks dry with paper towels to remove excess moisture. Then, I season both sides with salt and freshly ground black pepper.
Next, I lightly dredge each shank in all-purpose flour, shaking off any excess. This thin coating helps develop a golden crust during browning and contributes to the sauce's texture.
Brown the Veal:
I heat the olive oil and unsalted butter in a large Dutch oven over medium-high heat.
Once the butter melts and begins to sizzle, I add the veal shanks in a single layer. I brown them for approximately 3–4 minutes on each side until they develop a deep golden color.
I transfer the browned shanks to a plate and set them aside. I make sure to leave the flavorful browned bits in the pot because they add richness to the braising sauce.
Cook the Aromatic Vegetables:
I reduce the heat to medium and add the finely diced onion, carrots, and celery to the same pot.
I cook the vegetables for 6–8 minutes, stirring occasionally, until they soften and become fragrant.
Next, I add the minced garlic and cook for about 30 seconds. I stir in the tomato paste and continue cooking for another minute to deepen its flavor.
Deglaze with White Wine:
I pour the dry white wine into the Dutch oven, scraping the bottom with a wooden spoon to release the browned bits.
I let the wine simmer for 3–4 minutes until it reduces slightly. This step adds depth and a pleasant acidity to the finished sauce.
Build the Braising Sauce:
I stir in the crushed tomatoes, beef or veal broth, dried thyme, rosemary, and bay leaf.
Then, I return the browned veal shanks to the Dutch oven, arranging them in a single layer.
I make sure the braising liquid reaches approximately two-thirds of the way up the shanks. This allows the meat to cook gently while developing a concentrated, flavorful sauce.
Slowly Braise the Ossobuco:
I bring the liquid to a gentle simmer, cover the Dutch oven, and reduce the heat to low.
I allow the veal shanks to braise for approximately 1 hour and 45 minutes to 2 hours, turning them carefully halfway through cooking.
I check the meat toward the end of the cooking time. When the ossobuco is ready, the meat should be exceptionally tender and separate easily with a fork. If it still feels firm, I continue braising until it reaches the desired tenderness.
Prepare the Fresh Gremolata:
While the ossobuco finishes cooking, I prepare the gremolata.
In a small bowl, I combine the finely chopped flat-leaf parsley, minced garlic, and freshly grated lemon zest.
I mix everything until evenly distributed and set the gremolata aside until serving. I prefer preparing it close to serving time so the herbs and citrus retain their fresh aroma.
Finish the Braising Sauce:
Once the veal is tender, I carefully remove the bay leaf and taste the braising sauce.
I adjust the salt and black pepper as needed. If I prefer a thicker sauce, I gently transfer the shanks to a plate and simmer the liquid uncovered for several minutes until it reaches my desired consistency.
Serve and Garnish:
I transfer the tender veal shanks to serving plates and spoon the rich braising sauce generously over the top.
Just before serving, I sprinkle each portion with fresh gremolata.
I love serving ossobuco alongside traditional risotto alla Milanese, creamy polenta, or buttery mashed potatoes. These sides absorb the flavorful sauce and turn the dish into a satisfying Italian meal.
Servings and Timing
Calories per serving (estimated): 620 kcal
Variations
Traditional Milanese-Style Ossobuco:
When I want a version closer to traditional ossobuco alla Milanese, I omit the crushed tomatoes and tomato paste. I focus on white wine, broth, aromatic vegetables, and a fragrant gremolata for a lighter-colored sauce that still delivers rich flavor.
Beef Shank Ossobuco:
If veal shanks are unavailable, I substitute thick-cut beef shanks. I follow the same preparation method but increase the braising time as needed, since beef shanks often require longer cooking to become tender.
Red Wine Ossobuco:
For a deeper, more robust flavor, I replace the dry white wine with dry red wine. This variation creates a darker, richer braising sauce that pairs particularly well with mashed potatoes or polenta.
Mushroom Ossobuco:
I sometimes add sliced cremini mushrooms to the vegetables while sautéing. The mushrooms contribute an earthy flavor that complements the tender meat and savory sauce.
Oven-Braised Ossobuco:
When I prefer oven cooking, I prepare the recipe on the stovetop through the simmering stage, then cover the Dutch oven and transfer it to a preheated 325°F (165°C) oven.
I braise the veal for approximately 2–2½ hours, checking periodically until the meat becomes fork-tender.
Extra-Citrusy Gremolata:
For a brighter finish, I increase the lemon zest slightly and add a little finely grated orange zest to the gremolata. I find this variation especially delicious when serving ossobuco with a rich, creamy side dish.
Storage/Reheating
Refrigerating Leftover Ossobuco:
I allow the cooked ossobuco to cool slightly before transferring it to airtight containers with the braising sauce.
I refrigerate the leftovers promptly and store them for up to 3–4 days at 40°F (4°C) or below. I always keep the meat covered with sauce to help preserve its moisture and tenderness.
Freezing Ossobuco:
For longer storage, I place the cooled veal shanks and sauce in freezer-safe containers, leaving a little room for expansion.
I freeze the ossobuco for up to 3 months for the best flavor and texture. I prefer freezing the meat and sauce without gremolata, then preparing a fresh batch when serving.
Reheating on the Stovetop:
My favorite reheating method is to place the ossobuco and its sauce in a covered saucepan over low heat.
I add a small splash of broth if the sauce has thickened too much, then warm everything gently until heated through to 165°F (74°C).
I avoid rapid boiling because it can cause the tender meat to break apart.
Reheating in the Oven:
When reheating several portions, I place the ossobuco in an oven-safe dish with the sauce, cover it tightly with foil, and warm it in a 300°F (150°C) oven until thoroughly heated.
I add fresh gremolata just before serving to restore the dish's bright, aromatic finish.
Making Ossobuco Ahead of Time:
I often prepare ossobuco a day in advance because the flavors become even more developed after resting overnight in the refrigerator.
I gently reheat the meat in its sauce before serving and prepare the gremolata fresh. This makes the recipe especially convenient for dinner parties and family gatherings.
FAQs
What is ossobuco, and what makes it special?
Ossobuco is a traditional Italian dish, particularly associated with Milan, made from cross-cut veal shanks that are slowly braised until tender.
I love this dish because the bone marrow and connective tissue contribute richness and body to the sauce. The name ossobuco translates approximately to "bone with a hole," referring to the marrow-filled center of the shank.
Can I make ossobuco without white wine?
Yes. When I prefer not to use wine, I replace it with an equal amount of additional beef or veal broth.
I sometimes add a small splash of lemon juice or white wine vinegar to introduce a little acidity and balance the richness of the braising sauce.
Although the flavor differs slightly from the wine-based version, I still get a delicious, comforting meal.
Why is my ossobuco tough after cooking?
When my ossobuco is still tough, it usually means the connective tissue needs more time to soften.
I continue braising the shanks gently, checking every 20–30 minutes until the meat becomes fork-tender.
I also make sure the liquid stays at a gentle simmer rather than a vigorous boil, since slow, moist cooking produces the best texture.
What is the best side dish to serve with ossobuco?
My favorite accompaniment is risotto alla Milanese, a creamy saffron risotto traditionally served with this dish.
I also enjoy ossobuco with soft polenta, mashed potatoes, or buttered pasta. These sides are especially good for soaking up the rich tomato and wine braising sauce.
When I want a lighter meal, I serve it with roasted vegetables or a simple green salad.
Can I prepare ossobuco in a slow cooker?
Yes. I begin by browning the veal shanks and sautéing the vegetables on the stovetop to develop flavor.
Then, I transfer everything to a slow cooker, adding the wine, tomatoes, broth, and herbs. I use slightly less broth if necessary because slow cookers retain more moisture.
I cook the ossobuco on low for approximately 7–8 hours or until the meat becomes exceptionally tender.
I finish with freshly prepared gremolata just before serving.
Conclusion
Ossobuco is one of those timeless Italian recipes I love returning to whenever I want a comforting, flavorful, and impressive homemade meal. The combination of tender braised veal shanks, aromatic vegetables, white wine, tomatoes, and herbs creates a deeply satisfying dish that feels both rustic and elegant.
What I enjoy most about this recipe is how the slow braising process transforms the ingredients into something extraordinary. The meat becomes beautifully tender, the sauce develops a rich and savory character, and the fresh gremolata adds the perfect finishing touch.
Whether I serve it with traditional saffron risotto, creamy polenta, or mashed potatoes, this classic Italian braised veal shank recipe always makes a memorable centerpiece for a family dinner or special occasion.
📖 Recipe:
Print
Ossobuco (Osso Buco) — Italian Braised Veal Shanks
- Total Time: 2 hours 35 minutes
- Yield: 4 servings
- Diet: Low Salt
Description
Classic Italian ossobuco featuring tender, slow-braised veal shanks simmered in a rich white wine, tomato, vegetable, and herb sauce. Finished with fresh lemon-garlic gremolata, this comforting Milanese-inspired dish is perfect for family dinners and special occasions.
Ingredients
4 veal shanks, about 1½ inches thick
1 teaspoon salt
½ teaspoon freshly ground black pepper
½ cup all-purpose flour
2 tablespoons olive oil
2 tablespoons unsalted butter
1 large onion, finely diced
2 carrots, finely diced
2 celery stalks, finely diced
3 garlic cloves, minced
1 cup dry white wine
1 cup crushed tomatoes
2 cups beef or veal broth
2 tablespoons tomato paste
1 teaspoon dried thyme
1 bay leaf
½ teaspoon dried rosemary
For the Gremolata:
¼ cup fresh flat-leaf parsley, finely chopped
1 garlic clove, finely minced
1 tablespoon finely grated lemon zest
Instructions
- Pat the veal shanks dry with paper towels. Season both sides with salt and freshly ground black pepper. Lightly dredge each shank in all-purpose flour, shaking off any excess.
- Heat the olive oil and unsalted butter in a large Dutch oven over medium-high heat. Add the veal shanks in a single layer and brown for approximately 3–4 minutes per side until golden. Transfer to a plate and set aside, leaving the browned bits in the pot.
- Reduce the heat to medium. Add the diced onion, carrots, and celery to the Dutch oven. Cook for 6–8 minutes, stirring occasionally, until softened. Add the minced garlic and cook for 30 seconds. Stir in the tomato paste and cook for another minute.
- Pour in the dry white wine, scraping the bottom of the Dutch oven with a wooden spoon to release the flavorful browned bits. Simmer for 3–4 minutes until the wine reduces slightly.
- Stir in the crushed tomatoes, beef or veal broth, dried thyme, dried rosemary, and bay leaf. Return the browned veal shanks to the Dutch oven in a single layer. The braising liquid should reach approximately two-thirds of the way up the shanks.
- Bring the liquid to a gentle simmer. Cover the Dutch oven, reduce the heat to low, and braise for approximately 1 hour and 45 minutes to 2 hours. Carefully turn the shanks halfway through cooking. Continue braising until the meat is fork-tender and separates easily from the bone.
- While the ossobuco finishes cooking, prepare the gremolata. Combine the finely chopped parsley, minced garlic, and grated lemon zest in a small bowl. Mix well and set aside until serving.
- Once the veal is tender, remove the bay leaf. Taste the braising sauce and adjust the salt and pepper if needed. For a thicker sauce, carefully remove the shanks and simmer the sauce uncovered for several minutes until reduced to the desired consistency.
- Transfer the tender veal shanks to serving plates and spoon the rich braising sauce over each portion. Sprinkle with freshly prepared gremolata just before serving. Serve hot with risotto alla Milanese, creamy polenta, or buttery mashed potatoes.
Notes
Best veal shanks: Choose thick, bone-in veal shanks approximately 1½ inches thick. The connective tissue and marrow create a tender texture and rich, flavorful sauce during slow braising.
Traditional Milanese variation: Omit the crushed tomatoes and tomato paste for a lighter-colored sauce made with white wine, broth, aromatic vegetables, and gremolata.
Beef shank substitute: Replace the veal shanks with thick-cut beef shanks. Increase the braising time as needed until the meat becomes fork-tender.
Red wine variation: Substitute dry red wine for the white wine to create a darker, more robust braising sauce.
Mushroom variation: Add sliced cremini mushrooms while sautéing the onion, carrots, and celery for additional earthy flavor.
Oven-braised method: Prepare the recipe on the stovetop through the simmering stage. Cover the Dutch oven and transfer to a preheated 325°F (165°C) oven. Braise for approximately 2–2½ hours or until the veal is fork-tender.
Extra-citrusy gremolata: Add a little finely grated orange zest or increase the lemon zest for a brighter finish.
Wine-free option: Replace the white wine with an equal amount of additional beef or veal broth. Add a small splash of lemon juice or white wine vinegar for acidity.
Slow cooker option: Brown the veal and sauté the vegetables on the stovetop, then transfer everything to a slow cooker with the remaining braising ingredients. Reduce the broth slightly if necessary and cook on low for 7–8 hours or until tender.
Cooking tip: Maintain a gentle simmer rather than a vigorous boil. If the meat remains tough, continue braising and check every 20–30 minutes until tender.
Serving suggestions: Serve with saffron risotto alla Milanese, creamy polenta, mashed potatoes, buttered pasta, roasted vegetables, or a simple green salad.
Make ahead: Prepare the ossobuco one day in advance and refrigerate it in its sauce. Reheat gently and prepare fresh gremolata just before serving.
Refrigeration: Store cooled leftovers in airtight containers with the braising sauce for up to 3–4 days at 40°F (4°C) or below.
Freezing: Freeze the cooled veal shanks and sauce in freezer-safe containers for up to 3 months. Freeze without gremolata and prepare a fresh batch when serving.
Stovetop reheating: Warm the ossobuco and sauce in a covered saucepan over low heat. Add a splash of broth if needed and heat thoroughly to 165°F (74°C).
Oven reheating: Place the ossobuco and sauce in a covered oven-safe dish and reheat at 300°F (150°C) until thoroughly heated. Garnish with fresh gremolata before serving.
Nutrition: Nutritional values are estimates per serving and exclude optional side dishes. Actual values vary depending on veal shank size, edible meat yield, and the amount of sauce consumed.
- Prep Time: 20 minutes
- Cook Time: 2 hours 15 minutes
- Category: Main Course
- Method: Slow Braising
- Cuisine: Italian
Nutrition
- Serving Size: 1 veal shank with sauce and gremolata
- Calories: 620 kcal
- Sugar: 7 g
- Sodium: 980 mg
- Fat: 32 g
- Saturated Fat: 11 g
- Unsaturated Fat: 19 g
- Trans Fat: 0.5 g
- Carbohydrates: 22 g
- Fiber: 3 g
- Protein: 52 g
- Cholesterol: 185 mg
