Combine potatoes, celery, onion, ham and chicken broth in a large pot. Bring to a boil then cook over medium heat until potatoes are tender, about 10-15 minutes.
In a separate sauce pan, while soup is cooking, create the roux ("roo"). Melt butter over medium-low heat. Whisk in flour with a fork and cook stirring constantly until thick, 1-2 minutes.
Slowly stir milk into the roux as not to allow lumps, until all milk has been added.
Continue stirring over medium-low heat until roux is thick, 4 to 5 minutes.
Once potatoes are soft, stir chicken bouillon, salt and pepper into soup.
Once roux is thick, stir the roux into the soup and cook until heated through.
Serve immediately. Top with your favorite toppings or just enjoy plain.