Pat the 4 veal shanks dry with paper towels. Season generously with Kosher salt and freshly ground black pepper, then dredge in ½ cup all-purpose flour, shaking off any excess.
In a large Dutch oven, heat 2 tablespoons olive oil and 2 tablespoons unsalted butter over medium-high heat. Add the veal shanks and brown on all sides, about 3–4 minutes per side. Remove and set aside.
In the same pot, add 1 large yellow onion, 2 carrots, 2 stalks celery, and 4 cloves garlic. Cook until softened and fragrant, about 5–6 minutes.
Pour in the 1 cup dry white wine, scraping up any brown bits from the bottom of the pot. Stir in 1 ½ cups chicken stock, 14.5 ounce diced tomatoes, 1 tablespoon tomato paste, 2 teaspoons fresh thyme leaves, and 1 bay leaf. Bring to a simmer.
Return the veal shanks to the pot, spoon some liquid over the top, cover tightly, and transfer to a preheated oven at 350°F (175°C). Cook for 1½ to 2 hours, until the meat is tender and falling off the bone.
Remove the bay leaf and herbs. Combine 2 tablespoons chopped fresh parsley, 1 teaspoon grated lemon zest, and 1 clove garlicto make gremolata. Sprinkle it over the Osso Buco before serving.