Preheat the oven to 350˚F.
Heat 3 tablespoons olive oil in a dutch oven or a braiser set over medium-high heat.
Pat dry the beef shanks; rub with remaining olive oil and season with kosher salt and pepper. Add the shanks to the hot oil and cook for 3 to 4 minutes per side, or until nicely browned.
Remove the shanks from the pan and set aside; keep covered. Return the pan to the burner and reduce the heat to medium.
Add the diced celery, carrots, and onions to the pan. Add more oil if needed. Cook for 4 minutes, stirring frequently. Stir in the garlic and cook for 15 seconds.
Add the wine to deglaze the pan, scraping up all the browned bits from the bottom of the pan with a wooden spoon. Continue to cook for 8 minutes.
Stir in the crushed tomatoes and beef broth; add in the thyme sprigs and bay leaves, and season with salt and pepper. Increase the heat to medium-high and bring to a simmer.
Return the beef shanks to the pan. Cover and place in the oven. Cook for 1 to 1 hour and 20 minutes until the meat is fall-apart tender.
Return the pan back to the stovetop and set it over medium-high heat. Remove the beef shanks and set aside on a plate. Cook the sauce for 5 minutes, or until reduced and thickened.
Pour the sauce over the beef shanks.
Garnish with parsley and serve.