Melt the butter in a large soup pot and whisk in the flour. On medium heat, whisk in the chicken stock. Add the onion, potatoes, broccoli, salt, curry powder and garlic powder.
Bring to a boil, cover, reduce the heat to low and simmer for 30 minutes. Using either a stick blender or regular blender, puree the soup. You can make it completely smooth or leave it a bit chunky. Return to the heat and stir in the milk. Serve hot.