In a large saucepan, cook the bacon until crispy. Remove from the pan using a slotted spoon and place on a plate lined with paper towels. Set aside.
Cook the onion and carrots until the onions are transparent and fragrant.
Stir in the flour. Gradually add in the milk and the chicken broth. Bring to a boil and stir until thickened.
Add in the potatoes. Reduce the heat and simmer uncovered for around 25 minutes, or until the potatoes are tender.
Add in the cheese and ham, and stir until the cheese is melted. Stir in the bacon.