Preheat oven to 375.
Rub lamb shanks with a bit of olive oil and season with salt and pepper.
Pour the remaining olive oil in a dutch oven and heat over medium-high heat.
Add the lamb shanks and brown on all sides, about 4 minutes per side.
In the meantime, prepare the marinade by combining balsamic vinegar, red wine, chicken broth, garlic and rosemary leaves; mix until thoroughly incorporated.
Remove lamb shanks from the pot and set aside.
Add the onions to the hot oil; cook for 2 minutes, frequently stirring, until onions begin to soften.
Pour in the prepared marinade and return lamb shanks to the pot; bring to a boil and cook for 2 minutes.
Cover with a lid and place in the oven; cook for 1.5 hours.
Remove the lid, flip the lamb shanks to the other side, and continue to cook for 30 more minutes.
Remove from oven and serve over mashed potatoes drizzled with the cooking liquid.