Preheat the oven to 425°F and line a baking sheet with parchment paper.
Chop the Brussels sprouts in half.
Place the Brussels sprouts on the baking sheet and drizzle with the olive oil, balsamic, and honey. Sprinkle with the salt and pepper and toss to coat.
Arrange the Brussels sprouts (cut side down) in a single layer, leaving a little space around each one.
Roast for 20 to 30 minutes, or until tender and golden brown around the edges. The exact timing will depend on the size of your sprouts.
Transfer to a serving dish and gently toss with the walnuts and cranberries. Garnish with shredded parmesan cheese and serve.