Bring a large saucepan of lightly salted water to a boil over high heat. Add the diced potatoes and cook until just tender, 6 to 8 minutes. Drain.
Season the salmon with ⅛ teaspoon salt and ⅛ teaspoon ground pepper. Heat 1 teaspoon canola oil in a large skillet (preferably cast-iron) set over medium-high heat. Add the salmon (skin side down if it has skin) and cook until the fish is opaque about ¾ of the way up the fish, about 5 minutes. Flip the fish and cook for 2 minutes. Transfer to a plate. When cool enough to handle, break up into pieces.
Add ½ teaspoon oil to the skillet, and add the onion and pepper. Cook until tender, 4 to 5 minutes. Add the garlic and cook for 1 minute.
Add the remaining 1 teaspoon oil and stir in the potatoes. Cook, stirring occasionally, until the potatoes start to brown, 8 to 10 minutes.
Stir in the salmon, spinach, dill, ½ teaspoon salt and ½ teaspoon ground pepper, until the spinach is just wilted. Serve.