Cooking a ham is often the centerpiece of a holiday feast or a Sunday family dinner. However, because hams come in so many different varieties—smoked, fresh, bone-in, boneless, spiral-cut, or canned—the question of how long to cook it can feel surprisingly complicated. Getting the timing right is the difference between a succulent, flavorful centerpiece and a dry, disappointing main course.
Understanding Your Starting Point
Before you set your timer, you must identify what kind of ham you have. Most hams sold in grocery stores are “fully cooked” or “city hams,” which means they have been cured and smoked. For these, you are essentially reheating the meat to a safe and palatable temperature. If you have a “fresh ham,” you are dealing with raw pork that requires a much longer cooking time to reach safety standards. Always check the label first to see if it specifies “fully cooked” or “cook before eating.”
Calculating Time for Pre-Cooked Hams
Since most people prepare fully cooked hams, the goal is to warm the meat thoroughly without stripping away its natural moisture. The general rule of thumb for a fully cooked ham is to cook it at 325 degrees Fahrenheit until the internal temperature reaches 140 degrees Fahrenheit.
Bone-In Fully Cooked Hams
A bone-in ham usually offers better flavor and moisture retention. Because the bone conducts heat, it requires a steady, moderate pace. For a whole bone-in ham weighing between 10 and 14 pounds, plan for 15 to 18 minutes per pound. If you are cooking a half bone-in ham (usually 5 to 7 pounds), you should increase the time slightly to 18 to 24 minutes per pound.
Boneless Fully Cooked Hams
Boneless hams are convenient for slicing but can dry out faster because they lack the protection of the bone. For a whole boneless ham, expect to cook it for 10 to 15 minutes per pound. If it is a smaller portion, such as a 3 or 4-pound ham, 15 to 20 minutes per pound is a safer bet to ensure the center gets warm.
Spiral-Cut Hams
Spiral-cut hams are a fan favorite because they are pre-sliced. However, these are the most susceptible to drying out because the heat can penetrate the slices easily. To keep a spiral ham moist, you should cook it for only 10 to 12 minutes per pound at 325 degrees Fahrenheit. Wrapping the ham tightly in heavy-duty aluminum foil is essential here to trap the steam.
Cooking Times for Fresh or Uncooked Hams
If you have purchased a fresh ham, you are working with a raw leg of pork. This requires a much higher internal temperature for safety—145 degrees Fahrenheit followed by a mandatory three-minute rest. Because the meat is raw, the cooking time increases significantly.
For a fresh bone-in ham, you should calculate about 22 to 26 minutes per pound at 325 degrees Fahrenheit. A large 12-pound fresh ham can easily take 5 hours or more to cook. It is vital to use a meat thermometer rather than relying solely on the clock, as the thickness of the meat can vary.
Factors That Influence Cooking Duration
While weight-based calculations provide a solid baseline, several variables can change how long your ham stays in the oven.
Oven Temperature Consistency
Not all ovens are calibrated perfectly. If your oven runs cold, a 15-minute-per-pound estimate might leave you with a cold center. Conversely, a hot oven can scorch the outside before the inside is ready. Using an oven thermometer can help you verify that 325 degrees Fahrenheit truly means 325 degrees Fahrenheit.
Bringing the Ham to Room Temperature
If you take a ham straight from a 38 degrees Fahrenheit refrigerator and put it into the oven, the exterior will likely overcook before the interior loses its chill. Taking the ham out of the fridge about 30 to 60 minutes before cooking allows the internal temperature to rise slightly, leading to more even cooking and potentially shaving a few minutes off the total time.
The Role of Glazing
Glazing adds that beautiful, sticky-sweet crust we all love, but it shouldn’t be applied too early. Most glazes contain high amounts of sugar, which burns easily. You should typically apply your glaze during the last 20 to 30 minutes of cooking. If you apply it at the start, you might be forced to pull the ham out early because the sugar is burning, even if the meat isn’t hot yet.
Using Different Cooking Methods
While the oven is traditional, other appliances change the timeline for your ham preparation.
Slow Cooker Timing
Cooking a ham in a slow cooker is an excellent way to save oven space. For a fully cooked ham, you generally cook it on Low for 4 to 6 hours. Since slow cookers trap moisture effectively, this is one of the best ways to ensure a juicy result. However, because slow cookers vary in wattage, you should check the internal temperature starting at the 4-hour mark.
Roasting in a Smoker
If you want to add a double-smoked flavor, using a pellet grill or smoker is a great option. At a temperature of 250 degrees Fahrenheit, a fully cooked ham will take roughly 20 to 30 minutes per pound. The lower temperature allows more smoke to penetrate the meat, but it doubles the time required compared to a standard oven.
Safety and Internal Temperatures
The most important tool in your kitchen when cooking ham is a digital meat thermometer. Timing by the pound is an estimate, but temperature is a fact.
For a ham that was packaged in a USDA-inspected plant (most grocery store hams), you only need to reheat it to 140 degrees Fahrenheit. If the ham was “repackaged” or you are unsure of its origin, it is safer to aim for 165 degrees Fahrenheit. For fresh, raw ham, the goal is 145 degrees Fahrenheit, followed by a rest period which allows the temperature to rise slightly and the juices to redistribute.
Proper Resting Time
Once you pull the ham out of the oven, do not slice it immediately. A ham should rest for at least 15 to 20 minutes. During this time, the muscle fibers relax and reabsorb the juices. If you cut into it immediately, the moisture will run out onto the cutting board, leaving the meat dry. Cover it loosely with foil during this time to keep it warm.
Frequently Asked Questions
How long do I cook a 10-pound fully cooked bone-in ham?
For a 10-pound fully cooked bone-in ham, you should cook it for approximately 15 to 18 minutes per pound. This results in a total cooking time of roughly 2.5 to 3 hours in a 325 degrees Fahrenheit oven. Always verify that the internal temperature has reached 140 degrees Fahrenheit before removing it from the heat.
Can I cook a ham at a higher temperature to save time?
While you can increase the oven temperature to 350 degrees Fahrenheit or 375 degrees Fahrenheit, it is not recommended for ham. High heat tends to dry out the exterior and can cause the sugars in the ham to burn. Low and slow at 325 degrees Fahrenheit is the gold standard for maintaining a juicy texture.
Does a spiral-cut ham take less time to cook?
Yes, spiral-cut hams generally take less time because the heat can circulate between the pre-cut slices more efficiently. They usually require about 10 to 12 minutes per pound. Because they are prone to drying out, it is important to keep them tightly covered with foil and perhaps add a small amount of water or apple juice to the bottom of the roasting pan.
What if my ham is labeled “Cook Before Eating”?
If your ham is labeled “Cook Before Eating,” it has been cured but not fully cooked. You must treat this more like a fresh ham. You should cook it to an internal temperature of 145 degrees Fahrenheit. This usually takes about 18 to 20 minutes per pound in a 325 degrees Fahrenheit oven.
How do I keep the ham from drying out during a long cook?
To prevent drying, place the ham cut-side down in a roasting pan. Add about a half-inch of liquid (water, cider, or wine) to the bottom of the pan and cover the entire pan tightly with aluminum foil. This creates a steaming environment that keeps the meat moist throughout the duration of the cooking process.