Classic Osso Buco Milanese (Tender Braised Veal or Beef Shanks)
This post may contain affiliate links. Please read our disclosure policy.
Osso buco is one of northern Italy's most beloved comfort dishes-a slow, gentle braise that transforms humble shanks into something deeply rich and fork-tender. Traditionally associated with Milan, this classic Osso Buco Milanese is built on aromatic vegetables, tomatoes, broth, and time, finished with a bright gremolata that lifts every bite.

This version reflects how I cook osso buco at home today: a traditional braise without wine, finished carefully for a silky, concentrated sauce. It's the kind of dish that feels special yet grounded-perfect for a quiet Sunday or a winter dinner worth lingering over.
If you love the flavors of osso buco but need something faster, be sure to try my 30-Minute Skillet Osso Buco, inspired by this classic.
Recipe Overview
- Cuisine: Northern Italian (Milanese-inspired)
- Method: Braised (with slow cooker option)
- Protein: Veal or beef shanks
- Time: Low and slow, with minimal hands-on work
- Best For: Cozy weekends, company dinners, make-ahead meals
What I Love About This Recipe
- Classic Milanese technique: A gentle braise that delivers deep flavor without unnecessary extras.
- Fork-tender shanks: Slow cooking transforms veal or beef shanks into something rich and comforting.
- Bright gremolata finish: A fresh contrast that balances the richness of the sauce.
- Alcohol-free, but full-bodied: Built on broth, tomatoes, and proper reduction.
- Flexible cooking methods: Traditional braise with a reliable slow cooker option included.
What I love most about this version is how closely it mirrors the way osso buco is meant to be cooked: slowly, gently, and with attention to technique rather than shortcuts.
I've made this dish many ways over the years, and returning to a simple braise with classic Milanese flavors always delivers the most satisfying result. It's the kind of recipe that rewards patience and feels timeless on the table.
Jump to:
Key Ingredients
Osso buco is built on a short list of classic, unfussy ingredients. The magic comes from how they work together over time: aromatic vegetables, herbs, tomatoes, and broth slowly braise the shanks until the meat is tender and the sauce is deeply flavorful. The gremolata added at the end is essential, bringing freshness and balance to this rich Northern Italian dish.
- Veal or Beef Shanks - Cross-cut shanks with marrow create the signature richness
- Yellow Onion, Carrots & Celery - The classic Italian soffritto base
- Garlic - Minced and gently cooked for depth
- Tomato Paste - Adds body and savory richness
- Beef Broth - Keeps the braise full-flavored without wine
- Italian Plum Tomatoes - Canned, diced, with juices
- Dried Rosemary & Thyme - Warm, woodsy herbs that suit long cooking
- Salt & Black Pepper - Season thoughtfully at the end
Gremolata (Essential Finish):
Fresh parsley, lemon zest, and garlic-this is not optional. It's what makes osso buco osso buco.
How to Make Classic Braised Osso Buco

- Step 1: Preheat the oven to 325℉. Heat olive oil in a large enameled cast-iron or oven-safe pot. Season the shanks with salt and pepper and cook on all sides until browned, about 8-10 minutes. Transfer the shanks to a nearby plate.

- Step 2: Reduce the heat to medium and then add the onion, carrots, and celery to the pot and saute until softened, about 5-7 minutes.

- Step 3: Stir in the garlic, tomato paste, rosemary, and thyme. Cook for 1 minute more. Pour in half of the broth and scrape up any browned bits in the pan. Then pour in the remaining broth and tomatoes. Increase the heat to high and bring to a simmer.

- Step 4: Return the shanks to the pot and nestle them into the vegetables. Cover the pot and transfer to the oven to braise for 1 hour. Turn the shanks over and braise for 1 hour longer, or until the meat is very tender.
How to Make Osso Buco in the Slow Cooker
Brown the shanks in a skillet, then place them in the bottom of a 6-quart slow cooker.
In the same skillet, cook the onions, carrots, celery, and garlic until softened. Stir in the tomato paste, rosemary, and thyme until well combined, then transfer the mixture to the slow cooker.
Pour in the broth and tomatoes with their juices. Stir gently, nestle the shanks into the liquid, cover, and cook on low for 6-8 hours, until the meat is fork-tender.
Transfer the shanks to a platter and cover loosely with foil. Pour the cooking liquid into a saucepan and simmer on high until reduced to about 2 cups. Season with salt and pepper, then spoon the sauce over the shanks before serving.
Serving Suggestions
Osso buco is traditionally served with risotto alla Milanese, but it's equally lovely with:
- Creamy polenta
- Buttered pasta
- Mashed potatoes
- Crusty bread for soaking up the sauce
Finish each plate with gremolata just before serving.
Tips for Success
- Tie the shanks: Ask your butcher to tie them, or use kitchen string yourself-it helps the meat stay intact.
- Brown thoroughly: This is the first key flavor step.
- Reduce the sauce: The second key step-don't skip it.
- Let it rest: A short rest before serving improves texture.

Recipe FAQ's
Veal shanks are traditional and very tender, but beef shanks work beautifully and are more widely available. Choose thick, cross-cut shanks with visible marrow.
It's optional, but tying helps the shanks keep their shape during the long braise. Many butchers will do this for you.
Yes. Gremolata is a classic part of Osso Buco Milanese and adds brightness that balances the rich, slow-braised sauce.
Osso buco is an excellent make-ahead dish. The flavors deepen as it rests, and it reheats beautifully. Store it refrigerated for up to 3 days, then reheat gently on the stovetop or in a 325°F oven.
Osso buco is traditionally served with risotto alla Milanese, but it's also wonderful with polenta, mashed potatoes, or buttered pasta. Always finish with gremolata just before serving.
Yes. While braising produces the most traditional result, the slow cooker method works well and is included below. Browning the shanks first and reducing the sauce afterward are key steps for the best flavor.
More Italian Comfort Classics
If you love the slow, comforting flavors of this classic osso buco, you may also enjoy these Italian-inspired favorites from the 31Daily archives:
- Ribollita - a rustic Tuscan vegetable and bread soup
- Creamy Tuscan White Bean Soup - rich, cozy, and perfect with crusty bread
- Minestrone (classic and seasonal variations) - a staple of Italian home cooking. We love our classic minestrone soup and our spring minestrone soup.
- Gnocchi recipes - soft, pillowy pastas that pair beautifully with rich sauces
- 30-Minute Skillet Osso Buco
- 10 Easy Homemade Pizza Recipes
- Creamy Tuscan White Bean and Kale Soup
- Easy Pizza Sauce Recipe
If you try this recipe, I'd love to hear your comments and consider giving it a 5-star rating. Explore the recipe index for more easy, delicious ideas, and stay updated by subscribing to our newsletter and following us on Facebook, Pinterest, Instagram, and YouTube!
Want to save this recipe?
Enter your email, and we'll send it to your inbox. Plus, you'll get delicious new recipes from us every Friday!

Slow Cooker Osso Buco
Equipment
Ingredients
- 2 tablespoons extra-virgin olive oil
- 4-6 veal shanks or beef shanks (1½ - 2-inch thick)
- salt and freshly ground pepper to taste
- 2 carrots peeled and diced
- 2 celery ribs diced
- 1 yellow onion coarsely chopped
- 3 garlic cloves minced
- 2 tablespoons tomato paste
- ½ teaspoon dried rosemary or 1 tablespoon fresh
- ½ teaspoon dried thyme or 1 tablespoon fresh
- 1 cup beef broth or chicken broth
- 1 (14-oz) can diced Italian plum tomatoes undrained
Gremolita
- ¼ cup flat-leaf parsley
- 1 lemon zested
- 1 garlic clove minced
Instructions
- Preheat the oven to 325℉. Heat olive oil in a large enameled cast-iron or oven-safe pot. Season the shanks with salt and pepper and cook on all sides until browned, about 8-10 minutes. Transfer the shanks to a nearby plate.
- Reduce the heat to medium and then add the onion, carrots, and celery to the pot and saute until softened, about 5-7 minutes. Stir in the garlic, tomato paste, rosemary, and thyme. Cook for 1 minute more. Pour in half of the broth and scrape up any browned bits in the pan. Then pour in the remaining broth and tomatoes. Increase the heat to high and bring to a simmer.
- Return the shanks to the pot and nestle them into the vegetables. Cover the pot and transfer to the oven to braise for 1 hour. Turn the shanks over and braise for 1 hour longer, or until the meat is very tender.
- Transfer the shanks to a platter to rest and cover with foil to keep warm. You should have about 2 cups of liquid. If necessary, reduce the sauce over high heat and season with salt and pepper to taste.
- Meanwhile, in a small bowl, combine the parsley, lemon zest, and garlic to make a gremolata. Serve the shanks topped with sauce and garnished with gremolata over mashed potatoes, polenta, or risotto.
Notes
- Shank Selection: Veal shanks are traditional, but beef shanks work beautifully and are more widely available. Choose thick, cross-cut pieces with visible marrow.
- Tying the Meat: Tying the shanks with kitchen string helps them keep their shape during cooking, though it isn't strictly required.
- Browning Matters: Browning the shanks before braising adds depth and helps develop a richer sauce.
- Sauce Reduction: Reducing the cooking liquid before serving concentrates flavor and improves texture.
- Gremolata Finish: Don't skip the gremolata-its fresh, citrusy bite is essential to classic Milanese flavor.
- Make-Ahead Friendly: Osso buco improves with time and reheats well over low heat.
Nutritional information is only an estimate. The accuracy of the nutritional information for any recipe on this site is not guaranteed.






This braised osso buco recipe is one of our favorite "special" dishes. It's easy to make, and time is its best friend. The meat is fork tender and the flavors are truly and authentically Italian. When veal shanks aren't available, we often use beef shanks.