To a large pot, add butter and melt on medium-high heat.
Add diced onions. Saute for 3-4 minutes, or until the onions become soft and fragrant.
Add garlic, and saute for about 30 seconds. Do not allow the garlic to burn.
Add flour and seasonings, then stir with a whisk to form a paste. This will help thicken the soup!
Add chopped ham, potatoes and chicken stock. Allow to come to a gentle boil, then cover the pot. Allow to boil for 15-20 minutes, or until you can pierce the potatoes easily with a fork.
Reduce the heat to low. Add milk, then cheese. Stir occasionally, allowing the cheese to melt for 5-10 minutes.
Taste and adjust seasonings if necessary. Add chives and stir. Serve warm.