At 165C (325F), a fully-cooked bone-in ham takes 15-18 minutes per pound, until a thermometer reads 60C (140F) in the centre. A raw "cook-before-eating" ham needs 18-20 minutes per pound to 63C (145F), plus a 3-minute rest. Most American hams are sold fully cooked, so you are only warming them through.
Here is the thing most ham pages bury: nearly every ham in an American supermarket is already cooked. You are not cooking it — you are warming it, and the only question is how long that takes without drying it out. Grab the label, find your ham in the table below, and put your faith in a probe thermometer, not the clock.
| Ham type | Minutes per lb | Done at (internal temp) | Example total time |
|---|---|---|---|
| Fully-cooked whole ham, bone-in | 15-18 min per lb | 60C (140F) | 10 lb (4.5 kg): 2½-3 hr |
| Fully-cooked half ham, bone-in | 18-24 min per lb | 60C (140F) | 8 lb (3.6 kg): about 2½-3¼ hr |
| Spiral-cut ham (fully cooked), reheated covered | 10-12 min per lb | 60C (140F) | 9 lb (4 kg): about 1½-1¾ hr |
| Raw "cook-before-eating" ham (UK: gammon) | 18-20 min per lb | 63C (145F) plus 3 min rest | 12 lb (5.4 kg): 3½-4 hr |
Fully Cooked or Raw? Check the Label First
This is the split that decides everything, and it is printed right on the packet. A fully-cooked ham — which is most US hams, including city hams and spiral-cut hams — says "fully cooked", "ready to eat" or "heat and serve". It is safe as it is, and you only reheat it to 60C (140F) inside. A raw ham says "cook before eating" or "cook thoroughly", and that one must genuinely cook, to 63C (145F) with a 3-minute rest before carving. If you are British, your gammon is the raw kind — a gammon joint is uncooked cured pork and needs the full 63C (145F) treatment. Cook a fully-cooked ham like a raw one and you will eat sawdust; the label check takes ten seconds.
How Long to Cook a Ham in the Oven
The oven does all of this at 165C (325F / fan 145C / gas 3). Low and slow is the whole trick — the meat is cured and mostly cooked already, and a hot oven only drives the moisture out. Put the ham cut side down in a roasting tin, add a splash of water to the bottom, and cover the whole thing tightly with foil. At 165C (325F): a fully-cooked whole bone-in ham wants 15-18 minutes per pound; a half ham wants 18-24 minutes per pound; a raw cook-before-eating ham wants about 18-20 minutes per pound. If you are glazing, take the foil off for the last 20-30 minutes, brush the glaze on, and let it go sticky. Then check the temperature — 60C (140F) for fully cooked, 63C (145F) for raw — because the clock is only ever an estimate.
How Long Does It Take to Cook a Ham? Worked Examples
The per-pound sums, done for you. A 10 lb (4.5 kg) fully-cooked whole bone-in ham at 15-18 minutes per pound takes 2½ to 3 hours. An 8 lb (3.6 kg) fully-cooked half ham at 18-24 minutes per pound takes about 2½ to 3¼ hours. A 9 lb (4 kg) spiral-cut ham, reheated covered at 10-12 minutes per pound, is done in roughly 1½ to 1¾ hours. And a 12 lb (5.4 kg) raw cook-before-eating ham at 18-20 minutes per pound needs 3½ to 4 hours. Every oven runs a little different and a thick ham heats slower than a slim one, so start checking the temperature half an hour before the maths says it is done.
Spiral-Cut Ham: Gentle Does It
A spiral-cut ham is fully cooked and pre-sliced, which makes it lovely to serve and quick to ruin. All those cut surfaces dry out fast. Reheat it covered tightly in foil at 165C (325F) for about 10-12 minutes per pound — no more — until the centre reads 60C (140F). A splash of water or juice in the tin under the foil helps it steam rather than bake dry. Honestly, a spiral ham is also fine served cold or at room temperature straight from the fridge; if you do warm it, gentle and covered is the rule.
The Thermometer Is the Boss
Times vary with the shape of the ham, the bone and your oven; internal temperature is the real test of done. Push a probe thermometer into the thickest part of the meat, well away from the bone — bone conducts heat and lies to you. Fully-cooked ham reheats to 60C (140F). Raw cook-before-eating ham cooks to 63C (145F), then rests 3 minutes before you carve. Once it is on the table, remember the danger zone: cooked ham should not sit out between 4-60C (40-140F) for more than 2 hours (1 hour if the room is above 32C / 90F). Get leftovers into the fridge, and when you reheat a plate of them later, heat until piping hot — 74C (165F).
Questions we get asked
How long does it take to cook a 10 pound ham?
A 10 lb (4.5 kg) fully-cooked whole bone-in ham takes 2½ to 3 hours at 165C (325F) — that is 15-18 minutes per pound — until the centre reads 60C (140F). If the label says cook before eating, allow 18-20 minutes per pound, about 3 to 3¼ hours, to 63C (145F) plus a 3-minute rest.
Do you cook a ham at 325 or 350?
325F (165C, fan 145C / gas 3). Most hams are already cooked, so you are only warming the meat through, and the lower oven does that without drying it out. A hotter oven saves you a few minutes and costs you a moist ham — not a good trade.
How many minutes per pound do you cook a ham?
At 165C (325F): 15-18 minutes per pound for a fully-cooked whole bone-in ham, 18-24 for a half, 10-12 for a spiral-cut reheated under foil, and 18-20 minutes per pound for a raw cook-before-eating ham. Fully-cooked ham is done at 60C (140F) inside; raw ham at 63C (145F) plus a 3-minute rest.
Do you cover a ham with foil when baking?
Yes. Cover it tightly with foil, with a splash of water in the tin, so it steams gently instead of drying. Take the foil off only for the last 20-30 minutes if you are glazing, then check the temperature before it comes out.
How do you know when a ham is done?
A probe thermometer in the thickest part, not touching the bone. Fully-cooked ham is ready at 60C (140F); a raw cook-before-eating ham must reach 63C (145F) and then rest 3 minutes. Colour and clock are guesses; the temperature is the answer.
Can you overcook a ham that is already fully cooked?
Easily — it is the most common ham mistake there is. Past 60C (140F) the meat just loses moisture, so pull it the moment the thermometer says so. That is the whole reason fully-cooked ham stops at 60C (140F) while raw ham goes to 63C (145F).