Prepare the Veal: Pat the veal shanks dry with paper towels and season generously with salt and black pepper. Dredge lightly in all-purpose flour, shaking off any excess. This helps to achieve a rich, golden crust during searing and also thickens the sauce during cooking.
Sear the Meat: Heat the olive oil in a large Dutch oven or heavy-bottomed pot over medium-high heat. Sear the veal shanks until deeply browned on both sides. Once golden and caramelized, transfer them to a plate and set aside.
Build the Flavor Base: Add the chopped onion, diced carrot, and celery to the same pot. Sauté until the vegetables are softened and aromatic. Stir in the minced garlic and cook briefly, releasing its fragrance. Deglaze the pot with the white wine, scraping up any browned bits from the bottom to incorporate that deep flavor into the sauce.
Begin the Braise: Add the beef or veal broth, diced tomatoes, thyme, and bay leaf. Stir well to combine. Return the veal shanks to the pot, ensuring they are partially submerged in the braising liquid. Bring the mixture to a gentle simmer, then reduce the heat to low. Cover and cook slowly for about 2 to 2½ hours, or until the veal becomes fork-tender and nearly falls off the bone.
Prepare the Gremolata: While the veal finishes cooking, combine the chopped parsley, lemon zest, and minced garlic in a small bowl. Toss well to blend. This bright, zesty mixture will add a refreshing contrast to the richness of the braised meat.
Serve and Garnish: Remove the bay leaf and thyme sprigs from the sauce. Transfer the veal shanks to serving plates, spooning the flavorful sauce over each portion. Sprinkle generously with the gremolata before serving. Pair with creamy polenta, mashed potatoes, or risotto alla Milanese for a true taste of Italy.