Preheat your oven to 325°F. In a bowl, mix the softened butter, rosemary, thyme, garlic, 1 tsp salt, and 1/2 tsp pepper. Gently loosen the turkey skin over the breast and thighs, then rub half of the herb butter underneath. Spread the remaining butter over the outside of the turkey. Stuff the cavity with onion quarters.
Place the turkey breast-side up on the roasting rack. Pour 1 cup of broth into the pan. Cover the turkey loosely with foil and roast for 2.5 hours. After 2.5 hours, remove the foil, baste the turkey with pan juices, and roast uncovered for another 1-1.5 hours. Add more broth to the pan if it dries out.
Insert a meat thermometer into the thickest part of the thigh. It should read 165°F. If the skin isn’t golden enough, increase the oven to 425°F for the last 10 minutes.
While the turkey rests, combine cranberries, sugar, orange zest, juice, water, and cinnamon stick in a saucepan. Simmer over medium heat for 15-20 minutes, stirring occasionally, until cranberries burst and the sauce thickens. Remove the cinnamon stick before serving.
Let the turkey rest for 30 minutes before carving. Pour pan juices over sliced meat for extra flavor.