How long you cook a ham depends on how the ham is prepared. A precooked ham that you’re simply reheating takes about 13 minutes per pound until you reach an inside temperature of 145 degree.
A fresh ham that has never been cooked you’ll want to cook the meat until the rarest portion of the ham is 140 degrees. For a ham with the leg bone, cook the ham 22 to 26 minutes. The boneless ham cooks 24 to 28 minutes per pound. Check for doneness using internal temperature, however, not time.