Boil potatoes, celery, carrots, onion, salt and pepper in water for 10 minutes (or until vegetables are tender), covered.
Melt butter in pan and slowly whisk in the flour. Slowly add the milk, whisking constantly.
Cook until thick, whisking frequently, then add the cheese. Stir until melted.
Add the cheese mixture to the vegetables then add the ham.
Serve hot and garnish with a little paprika and parsley, if desired.
If you have leftovers you may need to thin the soup with a bit more milk when reheating. The soup thickens considerably as it cools.