Season the beef with salt and freshly ground pepper.
Heat oil in a Dutch oven over high heat. Add the beef and brown generously on all sides. Transfer the beef to a plate.
In the same Dutch oven, add the sliced vegetables to the pot and cook over medium heat for 15-20 minutes until camelized. Add the garlic and spices, cook for about 2 minutes. Add the white wine and bring to boil. This is to deglaze the bottom of the pot releasing those flavours left by the meat.
Add the stock, crushed tomatoes, tomato paste and bay leaves. Simmer for about 5 minutes.
Return the roast to the pot along with the pieces of carrots and celery. Bring to a boil, reduce the heat to low, cover and simmer for 3-4 hours or until the beef is fork tender and falls apart easily. Dicard the celery, carrots and the bay leaves.
On a separate plate, shred the beef using a fork and place back in the pot.
Stir in the olives, roasted peppers, capers (optional), and pimentos. Simmer uncovered to thicken the sauce for 25-30 minutes. Stir in parsley and salt and pepper to taste.