Heat the olive oil in a large, heavy-bottomed saucepan over low heat. Add the leeks and garlic and sauté for 2 minutes.
Add the potato, celery, salt and pepper, and cook over medium heat for about 1 minute, stirring constantly. Add the broth and simmer until the potato is tender, about 15 minutes.
Add the tomato puree and milk, then the flaked salmon, and bring the mixture back to a simmer for a few minutes (but don't let it boil, or the milk will separate). As it simmers, stir in the cream.
Remove from heat, garnish with the chives, and serve.