Preheat oven to 350 degrees. On a piece of aluminum foil, toss beets with 1 tablespoon oil and the salt; wrap beets in foil to make a packet. Cook until beets are easily pierced with a fork, about 35 minutes. Let cool; peel beets, and slice into 1/4-inch-thick rounds.
Cook bacon on another baking sheet until crisp, about 10 minutes. Transfer to a paper-towel lined plate; let drain.
Place lemon slices and 6 cups water in a large saucepan; bring to a boil. Reduce heat; add salmon, and cook at a bare simmer until flaky, about 12 minutes. Transfer fish to a plate; let cool.
Make dressing: In a small bowl, whisk together shallot, vinegar, and remaining 2 tablespoons oil until emulsified.
Place spinach and beets in a bowl. Add dressing and some bacon; season with pepper. Toss to combine. Divide among plates; top each with a salmon fillet. Garnish with remaining bacon.