Sprinkle shanks with salt and pepper. Heat oil in a heavy large pot over medium-high heat. Working in batches, add shanks to pot and cook until brown on all sides, about 8 minutes. Transfer shanks to bowl.
Add onions, carrots, and garlic to the pot and sauté until golden, about 10 minutes. Stir in all remaining ingredients. Return shanks to pot, pressing down to submerge. Bring liquids to boil. Reduce heat to medium-low. Cover; simmer until meat is tender, about 2 hours.
Uncover pot; simmer until meat is very tender, about 30 minutes longer. Transfer shanks to platter; tent with foil. Boil juices in pot until thickened, about 15 minutes. Season with salt and pepper. Spoon over shanks.