Pat the lamb shanks dry and season them all over with salt and black pepper.
Heat the olive oil in a large Dutch oven over medium-high heat. Brown the shanks on all sides, about 8 minutes total, then remove them to a plate.
Lower the heat to medium and add the onion. Cook until softened, about 5 minutes. Stir in the garlic and cook 1 minute more.
Pour in the crushed tomatoes, beef broth, oregano, and bay leaves. Return the shanks to the pot and bring the mixture to a simmer.
Cover the pot, reduce the heat to low, and cook for 2 hours, turning the shanks once halfway through, until the meat is very tender.
Stir in the Kalamata olives and simmer uncovered for 10 minutes to let the flavors blend.
Remove the bay leaves, taste and adjust salt and pepper if needed, then sprinkle with fresh parsley before serving.