Season lamb shanks generously with salt and black pepper.
Heat olive oil in a large Dutch oven over medium-high heat and sear the lamb shanks until browned on all sides.
Remove the shanks from the pot and set aside.
Add onion, carrots, and celery to the pot and sauté for 5 minutes until softened.
Stir in the minced garlic and tomato paste, cooking for 1 minute until fragrant.
Deglaze the pot with red wine, scraping the bottom to release the fond.
Return the lamb shanks to the pot and pour in the beef stock.
Add rosemary sprigs, thyme sprigs, and bay leaves.
Cover with a tight-fitting lid and simmer on low heat for 3 hours, or until meat is fork-tender.
Remove the lamb shanks and herbs from the pot.
Increase heat to medium-high and boil the remaining liquid for 10 minutes to reduce and thicken into a gravy before serving over the lamb.