Preheat your oven to 350°F (175°C).
Heat the olive oil in a Dutch oven over medium-high heat. Brown the lamb shanks on all sides, then remove and set aside.
Add the chopped onion and garlic to the pot and sauté until softened.
Pour in the beef broth, red wine, and diced tomatoes. Stir to combine.
Return the lamb shanks to the pot. Add the rosemary and thyme sprigs. Season with salt and pepper.
Bring to a simmer, then cover and transfer to the preheated oven. Cook for about 3 hours, or until the meat is tender and falling off the bone.
Remove the lamb shanks from the pot and keep warm. Skim any excess fat from the surface of the sauce, then reduce the sauce over medium heat if needed.
Serve the lamb shanks with the sauce spooned over the top.