In a large dutch oven or soup pot, add potatoes, carrots, chicken broth and onions.
Bring to a boil. Place a lid on, reduce heat, and let simmer for 10-15 minutes, until potatoes are tender.
While the soup is simmering, make the roux. Melt butter in a medium sauce pan. Add flour and continually stir for 2 minutes until smooth. Gradually stir in milk until combined. Season with salt, pepper, and garlic powder to your taste. Turn off burner after roux is thickened.
Once potatoes are tender, add ham and corn. The add the roux and stir well.
Add cheddar cheese and stir until melted. Enjoy.