Preheat to 350 degrees F.
Remove the neck and giblets from the turkey.
Pat the turkey dry and season the outside and inside with salt and pepper.
Place onions, celery, garlic and thyme inside the cavity.
Tie the legs together with kitchen twine. Put the turkey on a rack set in a large roasting pan and tuck the wings under the body.
Cook the bacon in a large skillet over medium heat until crisp, 7 to 8 minutes. Transfer to paper towels to drain, reserving the drippings in the skillet.
Add the ghee or butter to the skillet with the drippings and stir until melted, then pour into a bowl and stir in the juice of 2 lemons. Rub mixture all over the turkey. Place into oven for 30 minutes. After every 30 minutes, baste the turkey with it the drippings. Roast for about 3 hours or until a thermometer inserted into the thigh registers 165 degrees F.
Remove from oven onto a serving tray to rest for at least 25 minutes before carving. Meanwhile, pour the drippings, bacon and bites from roasting pan onto a blender. Add cream cheese and purée until smooth. Taste and adjust seasoning to your liking.
Slice the turkey and serve with the gravy.
Store extra turkey and gravy in separate air tight containers in the fridge for up to 4 days. Turkey can be stored in the freezer for up to a month. Makes 9 servings (about 1/2 pound per person).