In a heavy 10-inch skillet (preferably cast-iron) cook shallots and ginger in butter over moderate heat, stirring frequently, until pale golden, about 12 minutes. Add garlic and cook, stirring, 1 minute. Increase heat to moderately high and stir in a remaining ingredients. Cook mixture, stirring frequently, until syrup and almost all liquid is absorbed, about 12 minutes. Marmalade keeps, covered and chilled, up to 2 weeks.
Serve marmalade with meat, poultry, fish, or vegetables.