Heat the oil in a large soup pot over medium heat. Add the leeks and onion and cook for 5 minutes, stirring occasionally. Add the potatoes, salt, thyme, bay leaves, and broccoli, and cook for another 2 minutes. Add the stock and water and bring to a boil. Reduce to simmer and cook covered for 10 minutes, or until the potatoes are soft.
Add the milk and mix in. Add the spinach leaves and press into the liquid. Cover pot and cook over low heat for 2 minutes, just so that the spinach leaves wilt.
Fish out the bay leaves and thyme stems and discard. Use an immersion blender to purée the soup for at least 5 full minutes, until the soup is completely smooth. Reheat if needed.