Step 1Briefly blot the salmon dry with a paper towel before cutting it into 1-inch chunks. In a large nonstick skillet, heat one-half teaspoon oil over medium-high heat. Add the salmon and sear, turning once, until lightly browned, about 1 to 2 minutes on each side. Do not worry that the fish is not completely cooked; the fish will cook further in the soup. Transfer to a plate and set aside.
Step 2In a 3- or 4-quart saucepan, heat the remaining 1 tablespoon oil over medium heat. Add the onion and cook gently, stirring occasionally, until fragrant and soft, about 4 minutes. Stir in the tomato and salt, then cover and simmer until the tomato breaks down, about 4 minutes. Uncover and add the salmon, fish sauce and water. Bring the mixture to a boil over high heat and use a ladle to skim and discard any scum that rises to the surface. Reduce the heat to maintain a gentle simmer, so that the ingredients dance in the broth, and cook an additional 15 minutes to develop and concentrate the flavors. If you are not serving the soup right away, remove from heat and cover.
Step 3Just before serving, return the soup to a simmer. Taste and add extra salt or fish sauce, if desired. Add the dill and garlic and turn off the heat. Ladle into a serving bowl and sprinkle with the pepper. Serve immediately.