Preheat the oven to 325°F.
Pat the duck legs dry with paper towels. Season generously with salt and pepper.
Heat a medium oven-safe pan or small Dutch oven over medium-high heat.
Place duck legs skin-side down and cook for 6-8 minutes until the skin is golden brown and crispy. Flip and cook for another 2-3 minutes. Remove and set aside.
Pour off all but 1 tbsp of duck fat from the pan (reserve the extra fat for another use).
Reduce heat to medium. Add diced onion, carrot, and celery to the pan. Sauté for 5 minutes until softened.
Add white wine to deglaze, scraping up any browned bits from the bottom of the pan. Simmer for 2 minutes.
Add chicken stock, bay leaf, crushed garlic, thyme, and rosemary.
Return duck legs to the pan, skin-side up. The liquid should come about halfway up the sides of the duck legs.
Bring to a simmer, then cover and transfer to the oven.
Braise for 1.5 to 2 hours or until the duck is very tender when pierced with a fork.
Remove duck legs from braising liquid and place on a plate. Tent with foil to keep warm.
If desired, strain the braising liquid and return to the pan. Simmer over medium-high heat until reduced and slightly thickened, about 5-10 minutes.
Serve with mashed potatoes or polenta topped with the reduced braising liquid over the duck.