In a saucepan, bring potatoes and water to a boil. Cover and cook for 10-15 minutes or until tender. Drain, reserving 1 cup cooking liquid; set potatoes and liquid aside.
In a large saucepan, saute ham and onion in butter until onion is tender. Stir in the flour and pepper until smooth; gradually add milk and reserved cooking liquid. Bring to a boil; cook and stir for 2 minutes or until thickened. Reduce heat to low. Add the cheese, broccoli and reserved potatoes; cook and stir until cheese is melted and soup is heated through.