Preheat the oven to 450 degrees . Scatter the onions and garlic in a large roasting pan (12-by-16-inch). Place the ham, fat side up, on top of the onions. Drizzle with the EVOO and sprinkle with the caraway seeds; season with salt and pepper.
Roast the ham in the oven for 1 hour. Rotate the pan a half-turn and roast for 1 hour more. Lower the oven temperature to 350 degrees , pour in the beer and cook until the internal temperature of the meat registers 155 degrees on an instant-read thermometer, about 2 hours more.
Using a large spatula and a kitchen towel, or 2 meat forks, transfer the ham to a platter or cutting board. Tent with foil and let rest for 20 to 30 minutes before carving. Meanwhile, pour the juices and onions from the roasting pan into a large, heatproof measuring cup; let the juices settle. Skim off any fat that rises to the surface.
Using a sharp knife, carve the ham into thin slices. Reheat the pan juices and onions if necessary and serve with the meat.