In a large bowl, whisk together orange juice, orange zest, olive oil and honey. Add the brussels sprouts and cranberries and toss until well coated. (You can do all this a day ahead and store in the fridge in the bowl or a zip lock bag.) Pour sprouts into a large baking dish and season with salt and pepper.
Roast for 35 to 40 minutes, until crisp on the outside and tender on the inside. Shake the pan from time to time to brown the sprouts evenly. Add the walnuts and serve.