Dust the veal shanks lightly with flour. Melt the butter in a large skillet over medium to medium-high heat. Add the veal, and cook until browned on the outside. Remove to a bowl, and keep warm. Add two cloves of crushed garlic and onion to the skillet; cook and stir until onion is tender. Return the veal to the pan and mix in the carrot and wine. Simmer for 10 minutes.
Pour in the tomatoes and beef stock, and season with salt and pepper. Cover, and simmer over low heat for 1 1/2 hours, basting the veal every 15 minutes or so. The meat should be tender, but not falling off the bone.
In a small bowl, mix together the parsley, 1 clove of garlic and lemon zest. Sprinkle the gremolata over the veal just before serving.