In a Dutch oven, or large pot, cook bacon over medium heat until done. Remove bacon from pan and chop.
Drain off all but 1/4 cup bacon grease. Add onion, and celery to pot and sauté until soft. Add garlic and cook about 1 more minute.
Add cubed potatoes, butter, and flour and stir well. Sauté for another 2 minutes.
Return the bacon to the pan and add heavy cream, and chicken stock. (Make sure you add enough stock to cover potatoes completely.)
Scoop out about 4 cups of the soup mixture and puree in blender, then add back into the soup. Continue to simmer on low until ready to eat.
Add chopped green onion and 1 cup Monterey Jack cheese and stir until cheese is melted.
Salt and pepper to taste.