To make the pesto, place spinach, pistachios, garlic, salt and pepper in the bowl of a food processor. Slowly pour in oil, while machine is running, about 20 seconds. Pulse to completely combine. Set aside in the refrigerator, up to one day ahead.
To make turkey roulade, position oven rack in the center and heat oven to 375°F. Place cranberries in a small bowl and cover with boiling water. Let sit for 5 minutes until softened. Drain and set aside.
Meanwhile, heat 1 tablespoon of oil in a medium skillet on medium heat. Add onion and cook 5 to 7 minutes until softened. Add apple; continue to cook, 5 to 7 minutes, until onion and apples are golden. Add ½ cup chicken broth, thyme, rosemary, ½ teaspoon salt and ¼ teaspoons pepper, and simmer. Stirring occasionally and scraping up any bits that stick to the bottom of the pan, about 5 minutes, until broth is absorbed and apples are softened. Transfer to a large bowl.
Add bread and cranberries to apples and stir to combine. Pour in ⅓ cup chicken broth and stir to combine. Add additional 2 tablespoons chicken broth, as needed, until bread is moist, but not wet. Stir in pistachios and set aside to cool.
Place turkey between sheets of plastic wrap, and pound with a meat mallet or rolling pin, to about ½-inch thick. Season each side with remaining ¼ teaspoons salt and ¼ teaspoons pepper. Place turkey, skinned side down on working surface. Spread stuffing over turkey leaving a border uncovered, about 1½-inches all around. Roll up and secure tightly with kitchen twine.
Heat a roasting pan (or large skillet), with 2 tablespoons olive oil, on medium to medium-high heat. Brown turkey roulade on all sides, 12 to 15 minutes. Set aside on a plate. Add wire rack to roasting pan and place turkey on rack. Combine onion wedges in a bowl with 1 tablespoons oil and place in roasting pan alongside turkey. Add ½ cup chicken broth to roasting pan and place in oven.
Cook for 1 hour and 15 minutes, until turkey temperature reaches 165°F. Remove from oven, transfer to a cutting board and tent with foil. Allow to rest 10 to 15 minutes, until juices have had time to absorb, before cutting into 6 to 8 slices.
Meanwhile, add remaining chicken broth (about ½ cup) to roasting pan, and scrape up any bits with a wooden spoon. Serve pan drippings alongside turkey with pistachio pesto.