Heat the olive oil in a large, heavy based Dutch oven or casserole pan over a medium to high heat.
Season the duck legs with salt and pepper, add to the pan, skin side down and sear until brown and crisp, about 7 minutes. Turn over and brown the underside for about 3 minutes. Remove to a plate and set aside.
Remove all but 1 tablespoon of the fat in the pan, then add the onions and cook for 5 minutes until softened. Add the garlic and cinnamon and cook for a further 1 minute. Return the duck to the pan, add the wine, tomatoes, stock, sage, bay leaves and salt and pepper. Bring to the boil, then lower the heat to a gentle simmer, cover with a lid and cook for 2 hours, gently stirring every now and then.
Carefully remove the duck legs from the sauce and place on a plate. Remove and discard the skin. Shred the duck meat with 2 forks and discard the bones. Skim any excess fat from the sauce and return the meat to the pan. Add the milk and simmer, uncovered, for a further 10-15 mins while cooking the pappardelle.
When ready to serve, cook the pappardelle in a large pot of salted water until just al dente. Reserve 1 cup pasta water and drain the pappardelle. Return the pappardelle to the pot and toss through a little of the sauce, adding a little pasta water if it seems dry.
Serve the pappardelle with the ragù spooned over, and topped with freshly grated Parmesan. A glass of Wolf Blass Yellow Label Pinot Noir is the perfect accompaniment.