1. Preheat the oven to 375°. Season the veal shanks with salt and pepper. In a very large, deep skillet, heat 3 tablespoons of the olive oil until shimmering. Working in batches, cook the veal over moderately high heat until browned on both sides, about 8 minutes total per batch. Transfer the osso buco to a large roasting pan..
2. Add the remaining 3 tablespoons of olive oil to the skillet. Add the diced carrots, celery, onions, 4 whole garlic cloves and the bay leaves and cook over moderate heat until they are softened, about 12 minutes. Add the chicken stock, white wine, diced tomatoes and thyme sprigs and bring to a boil. Pour the vegetables and liquid over the veal, cover the roasting pan with foil and transfer to the oven. Braise the shanks for about 2 1/2 hours, until very tender.
3. Meanwhile, in a small bowl, mix the orange zest, lemon zest, parsley and the 2 minced garlic cloves. Lightly season the gremolata with salt and pepper.
4. Transfer the veal shanks to a baking sheet and cover with foil. Carefully strain the cooking liquid into a large bowl. Reserve the vegetables; discard the bay leaves and thyme sprigs. Pour the cooking liquid back into the roasting pan and boil over high heat until it is reduced by half, about 25 minutes. Season the sauce with salt and pepper. Stir in the reserved vegetables and simmer over moderately low heat for 2 minutes. Transfer the osso buco to shallow bowls. Spoon the sauce and vegetables on top and sprinkle lightly with the gremolata. Serve with the remaining gremolata at the table.