Place the Brussels sprouts on a baking sheet and toss with the oil, 1 teaspoon salt and 1/2 teaspoon pepper. Roast until tender and browned, 20 to 25 minutes.
Meanwhile, melt the butter in a small saucepan over medium-high heat. Add the shallots and cook, stirring often, for 1 minute. Stir in the port, vinegar and thyme and boil until syrupy, about 5 minutes. Stir in the broth and bring to a simmer. Whisk in the chocolate and honey and simmer until reduced by half, about 10 minutes. Season with salt and pepper.
Transfer the Brussels sprouts to a serving bowl and drizzle with the sauce.