Preheat oven to 350 degrees. In a heavy ovenproof saucepan, heat oil. Cook shallot and ginger over medium heat until tender, about 5 minutes. Add vinegar and brown sugar. Stir in chicken stock, water, and bay leaf. Season with salt and pepper. Add cabbage.
Bring to a boil. Cover; transfer to oven and braise until cabbage is tender, 45 to 50 minutes.
Remove cabbage with a slotted spoon and place on a serving platter; discard bay leaf. Simmer remaining liquid over medium-high heat until reduced by half, about 10 minutes. Spoon sauce over cabbage.