Heat 1 tbsp of the butter with the shallots in a saucepan over medium heat and cook until the shallots are tender, 3 to 4 minutes. Add the white wine and reduce to two tablespoons. Set the cranberries aside, and pour the orange juice into the saucepan; reduce the orange juice by a quarter cup.
Remove saucepan from heat and whisk in remaining butter one tablespoon at a time. Add the horseradish and lemon juice, then season with salt and pepper. Cover and keep in a warm spot, away from direct heat - or the sauce will break.
Heat 1 tbsp on olive oil in a large non-stick saute pan over high heat;use two pans if fish won't fit comfortably in one. Sprinkle salmon liberally with salt and pepper. When oil is almost smoking, add salmon fillets, skin side up, and sear until golden brown, about 3 minutes. Do not try to move the fillets until they've gotten a good sear, or they'll stick to the pan. Flip and cook on the other side. A 2 inch thick fillet will take 3 to 4 minutes per side for medium.
While the salmon is cooking, heat the remaining one tablespoon of oil in a large saute' pan over high heat. Add the spinach, season with salt and pepper, and cook, tossing, until the spinach has just wilted, a minute or so. Add the walnuts and the cranberries, and cook for another 30 seconds to heat everything through.
Place a quarter of the spinach and cranberries in the center of each of 4 warm plates. Set the salmon skin side up over the spinach. Spoon the sauce around the plates. Serve immediately.