Preheat the oven to 500 degrees. Rub the turkey all over with the salt and pepper, sprinkling some inside the cavity of the bird. Gently separate the skin from the breast and carefully work half of the butter between the skin and meat. Then work in several sprigs of thyme and parsley.
Rub the remaining butter all over the turkey. Place the remaining herbs inside the cavity along with the onions and apples, and put any leftover herbs into the neck opening, tucking the skin under the bird. Set the turkey breast side down on a roasting rack set over a roasting pan and pour 1 cup of wine over the bird. Roast for about 30 minutes.
Reduce the heat to 350 degrees. Remove the roasting pan, and turn the turkey breast side up. (If cooking a heritage turkey, leave it breast side down and be sure to check the cooking time, as these turkeys tend to cook more quickly.)
Add the remaining 1 cup of wine to the pan and roast for another 2 hours or so, basting several times, until done, about 12 minutes per pound. The turkey is cooked when a digital meat thermometer inserted into the thigh (away from the bone) registers 160 degrees.
Remove the turkey to a platter and tent with foil to keep warm, allowing it to rest 25 to 30 minutes while you make gravy. Pour the fat drippings from a pan into a measuring cup. Deglaze the pan with white wine or stock to make the gravy.