Heat the oil in a large frypan over a medium heat and place the duck legs fat-side down, searing them on both sides until golden, about 3 minutes per side. Remove legs from the pan, and keep about 3 tablespoons of the fat.
Place onions in the frypan with reserved duck fat, and cook over medium heat until they are soft and translucent, about 5 minutes. Stir in garlic, chillies and ginger; cook for about 3 minutes.
Skim the coconut cream from 1 tin of coconut milk, and stir the cream into the onion mixture. Stir in the curry paste, and cook until fragrant, about 1 or 2 minutes.
Stir into the skillet the additional 2 tins of coconut milk, kaffir lime leaves, spring onions and fish sauce. Return the duck legs to the frypan. Simmer on low heat until just done, about 15 minutes. (If the curry sauce needs further reducing, keep the duck legs warm in a low oven and continue to cook the sauce over medium heat.)
Meanwhile, bring a large pot of lightly salted water to boil, and cook the noodles according to package directions. When done, drain, and run cold water over noodles. Set aside.
Toss the noodles in the curry, and serve with chopped cilantro.