Heat the oil in a pot over medium heat. Sauté the onion and celery until tender for about 5 minutes.
Add the corn, broth, and potato. Season with salt and pepper, then bring to a low simmer, partially covered with a lid for about 30 minutes. Add in the milk and ham, then bring back to a simmer.
Slowly stir in the flour/water mixture and simmer until the soup is creamy and thick. Taste and adjust any seasonings with salt and pepper to taste. Garnish with parsley.