In a frying pan or Dutch oven, cook the bacon over medium heat about 10 minutes until crispy. Remove bacon from pan, pat dry and set aside. I cooked the bacon in a frying pan rather than doing it all in one large pan.
Heat the butter over medium heat and saute the celery, carrots, and onion until the onion becomes translucent about 5 minutes. Stir in the minced garlic and pepper flakes and continue cooking for 1 to 2 minutes.
Add the potatoes, and saute for an additional 3 minutes.
Scrape the sides of the pan and add the flour. Stir everything together for about 2 minutes. The mixture will thicken slightly.
Add the chicken stock and bring to a boil. Then partially cover the pot and simmer for about 20 minutes or until the potatoes become tender.
Stir in the heavy cream and cilantro and cook for about 2 minutes.
Remove from heat and blend the ingredients with an emulsion blender or a potato masher. I wanted some chunks of potato so I pureed the soup for only about 30 seconds. If you want a less chunky variation of the soup continue to puree a little longer.
Salt and pepper to taste. I used crushed black pepper and sea salt. I topped it with fresh cilantro, some grated sharp cheddar cheese, and a tsp. of sour cream (optional).
Serve immediately.