Newsletter Subscribe
Enter your email address below and subscribe to our newsletter
Today, we’re preparing one of my favorite recipes: osso buco. This delicious dish is hearty, comforting, and incredibly flavorful. It is popular in Italy and around the world. It’s often served over creamy mashed potatoes in bistros, trattorias, and fine-dining restaurants.

Osso buco is a renowned Italian dish from Lombardy, specifically Milan, dating back to the 19th century. It features tender veal shank simmered to absorb the broth’s flavors, with caramelized onions and garlic adding a sweet touch. Traditionally garnished with gremolata, which comprises lemon zest, parsley, and garlic—it’s a comforting meal. If you’re pressed for time, parsley alone works as a simple garnish.
The main differences between beef shank and veal shank stem from the meat’s age. Beef shanks come from cattle over two years old, while veal shanks are from young calves, resulting in variations in size, texture, and tenderness—the younger the calf, the more tender the meat. Veal shank cooks more quickly, taking about one hour and fifty minutes to simmer, compared to the three to four hours needed for beef shank, which is best baked in a heat-proof Dutch oven.
Flavor-wise, beef shanks have a bolder flavor, while veal shanks are milder and subtler. For those who haven’t tried veal, it’s worth tasting for its tenderness and less chewy collagen compared to beef shanks.
Veal shanks, Onions, Tomatoes, Garlic Cloves, Celery, Tomato paste, Balsamic vinegar, Worcestershire sauce, Beef stock, Salt, Bay leaves.
When selecting shanks for osso buco, choose cross-cut veal shanks that are about 4 to 5 cm (1 to 2 inches) thick, preferably hind shanks for more meat. Look for a solid bone with a full marrow center; veal should be light pink with creamy fat. For richer flavor, select veal with noticeable collagen. This recipe uses a mix of balsamic vinegar, beef stock, and Worcestershire sauce instead of red wine, along with fresh tomatoes, tomato paste, celery, onions, and garlic. Since the dish takes 1 hour and 50 minutes to cook, consider adding extra veal cubes to increase the protein.
Slice the onions, garlic, and celery. Chop the tomatoes and wash the veal shanks. Dust the shanks with flour and make small incisions along the sides to prevent curling during cooking.

Add cooking oil to a pot on medium-low heat. Sauté onions, celery, and garlic for 8 to 12 minutes until lightly caramelized. Once golden, transfer them to a plate and set aside. Add more cooking oil to the pan to enhance the veal shanks’ flavor.

Add the veal shanks to the pot and let them sear for 1 to 2 minutes on medium-low heat until browned, about four to five minutes total. Once browned, add Worcestershire sauce and balsamic vinegar, mixing well and sautéing for 1 to 2 minutes. Then, add the caramelized onions, celery, and garlic.

Add the chopped tomatoes, Beef stock cube, and bay leaves into the pot along with the tomato paste. Add 1/2 cup of water and stir until the ingredients are combined.

Add the remaining water and simmer for 1 hour and 50 minutes on medium-low heat. Check every 10 to 15 minutes and stir the pot to prevent the gravy from catching on the bottom. If it does, lower the temperature to medium-low or low.

After cooking, the osso buco will thicken and be ready to enjoy. You can cook it on the stove or bake in an oven-proof dish at 160–170°C (325°F) for two hours using veal shanks that are 4-5 cm thick. For a larger batch, simply double or triple the ingredients.
Osso buco is a dish with rich, sophisticated flavors. In Italy, it pairs well with creamy mashed potatoes, grilled asparagus, and Roasted Brussels Sprouts. Consider serving with a fresh Caprese salad, Balsamic tomato salad, Red pepper, and Rocket Salad. Garlic bread with a generous amount of butter will also complement the osso buco’s flavors.
Store the osso buco in the refrigerator for 2 to 4 days. You can also freeze this dish; it will keep for about 3 months. Defrost and reheat in a pot on the stove-top.
