Melt butter in a large saucepan over medium-high heat.
Add onion and cook, stirring frequently, until golden and tender, about 7-10 minutes.
Add potatoes and chicken broth. Bring mixture to a boil. Reduce heat to low and simmer, partially covered, until potatoes are tender, about 15-20 minutes.
Stir in corn, milk, salt and pepper; simmer uncovered 5 minutes.