Trim the ends of the Brussels sprouts, then slice in half lengthwise.
Finely chop the shallots.
Add the olive oil, vinegar, shallots, honey, chopped rosemary, salt, and pepper to a bowl and whisk to emulsify.
Place a pot of salted water on the stove on high heat to boil. Once boiling, add the Brussels sprouts and cook for 3 to 4 minutes.
Strain the Brussels sprouts, then add to a bowl. Pour over the marinade and stir well to combine.
Refrigerate for 2 hours to overnight. Serve chilled or at room temperature.