In a Dutch oven, cook the bacon over medium heat until done. Remove bacon from pan, and set aside. Drain off all but 1/4 cup of the bacon grease.
Cook celery and onion in reserved bacon drippings until onion is translucent, about 5 minutes. Stir in garlic, and continue cooking for 1 to 2 minutes. Add cubed potatoes, and toss to coat. Saute for 3 to 4 minutes. Return bacon to the pan, and add enough chicken stock to just cover the potatoes. Cover, and simmer until potatoes are tender.
In a separate pan, melt butter over medium heat. Whisk in flour. Cook, stirring constantly, for 1 to 2 minutes. Whisk in the heavy cream, tarragon, and cilantro. Bring the cream mixture to a boil, and cook, stirring constantly, until thickened. Stir the cream mixture into the potato mixture. Puree about 1/2 the soup, and return to the pan. Adjust seasonings to taste.