In a large pot, melt the butter over medium-high heat.
Once the butter is melted, add the celery and carrots and sauté for 5 minutes.
Add flour and whisk for 30 seconds.
Add the milk and broth slowly, whisking constantly until it's all incorporated.
Add the potatoes, minced onion, salt and pepper; bring to boil.
Turn the heat down to low/medium and let simmer for 15 minutes or until the potatoes are soft.
Add the cubed cheese and diced ham and stir until the cheese is all melted.