Preheat oven to 425°.
Heat oil over medium heat in a roasting pan or oven-proof skillet. Add the bacon and cook until golden brown and crisp. Remove the bacon to a plate lined with paper towels. Drain all but two tablespoons of fat from the pan. Add the shallots to the pan and cook until soft. Add the Brussels sprouts and chestnuts and toss to combine. Season with salt and pepper and roast in the oven until the sprouts are cooked through and golden brown, about 12 minutes. Remove the vegetables from the oven and stir in the butter and balsamic vinegar. Transfer to a platter and top with the crispy bacon.