Preheat the oven to 350°F.
Heat 3 tablespoons olive oil in a Dutch oven or braiser over medium-high heat.
Pat dry the beef shanks, rub with the remaining oil, season with salt and pepper, and brown 3 to 4 minutes per side.
Remove the shanks, reduce heat to medium, and cook celery, carrot, and onion for 4 minutes; stir in garlic for 15 seconds.
Add wine, scrape up browned bits, and cook 8 minutes.
Stir in tomatoes, broth, thyme, and bay leaves; season and bring to a simmer.
Return shanks, cover, and bake 1 to 1 hour 20 minutes until fall-apart tender.
Remove shanks and reduce the sauce on the stovetop for 5 minutes.
Pour sauce over the shanks.
Garnish with parsley and serve.