In a large saucepan, saute onion in hot oil over medium heat until tender and lightly browned, about 10 minutes, stirring occasionally. Stir in broth and carrots. Bring to a boil. Reduce heat and let simmer, covered, until carrots are very tender, about 30 minutes. Let cool slightly.
Puree carrot mixture in batches in a blender or food processor. Return soup to saucepan. Stir in milk and heat through.