In a large Dutch oven, heat oil over medium heat. Add the shallot and bacon and cook, stirring frequently, until the shallot turns lightly golden, about 3 minutes. Add the cabbage and toss to coat all over. Cover the pot and cook, stirring occasionally, until the cabbage is wilted,10-15 minutes.
Stir in the cranberries, cover again, and cook for 2 minutes. Season to taste with salt and pepper.