Prepare the ingredients: finely chop onion, carrot, celery, rosemary, prosciutto, and garlic (I'm using a food processor to chop onion, carrot, and celery, and I chop the rest of the ingredients by hand).
Trim excess fat from the duck legs, season them with salt and pepper on both sides.
Heat olive oil in a large, heavy-bottomed pot over medium meat. When hot, add the legs and cook them on both sides until browned. Transfer the legs to a plate.
Add the prosciutto to the pot, cook for 1-2 minutes, stirring from time to time, until lightly browned.
Add chopped onion, carrot, celery, and rosemary. Cook for a couple of minutes until soft. Add the garlic and dried mushrooms. Cook for 30-60 seconds until the garlic is fragrant.
Add the wine, cook for about 2 minutes, or until the wine is almost evaporated.
Add the broth and tomato passata (or crushed tomatoes). Stir everything together then add duck legs back to the pot (they should be submerged in the sauce).
Simmer the sauce over very low heat, uncovered, for 2 - 2 1/2 hours or until the meat falls off the bones easily. After 1 hour flip the legs over.
Transfer the legs to a plate. Remove the meat from the bones, shred the meat using two forks, discard the bones and skin.
Add the shredded meat to the pot. Cook briefly until warmed through.
Season the sauce with salt and pepper. Serve with cooked al dente pasta and sprinkle with grated Parmesan cheese.
Enjoy!