Place potatoes, carrots, onion, celery, water and chicken broth in a large pot. Bring to a boil then cook over medium high heat for 10 – 15 minutes…just until potatoes are fork tender.
Melt butter in a separate sauce pan.
Whisk flour into melted butter and cook 2 minutes.
Slowly whisk milk and half and half into the roux.
Continue cooking about 5 minutes until the sauce is thickened.
Pour the sauce into the pot with the potatoes and other vegetables.
Cook for 5 minutes then stir in the chopped ham and season with salt and pepper.
Serve topped with cheese and green onions (if desired).