Prepare the ingredients. Cut bacon into ½-inch pieces. Dice the white onion, mince the garlic, and chop the green onions. Peel the potatoes and cut into approximately 1 inch cubes.
Prepare the broth. Combine 3 cups water, chicken bouillon powder, garlic powder, and onion powder. Stir well. (Alternatively, you may use 3 cups low-sodium chicken broth in place of the water and bouillon powder, if desired).
Cook the bacon. Add bacon to a large pot over medium heat. Cook slowly, stirring occasionally, until browned and crispy and the grease has rendered. Remove bacon and set aside, leaving approximately 2-3 tablespoons of bacon grease in the pot.
Sauté the onions. Add white and green onions to the bacon grease. Cook for 3–5 minutes until softened and translucent.
Add garlic and seasonings. Stir in minced garlic and cook for 30–60 seconds until fragrant. Add white pepper and dried thyme, stirring for another 30–60 seconds.
Prepare the soup base. Pour in the prepared chicken broth. Add condensed cream of celery soup and milk. Stir until smooth and thoroughly combined.
Cook the potatoes. Add diced potatoes. Bring to a gentle simmer, reduce heat to medium-low, and cover with the lid slightly cracked. Simmer for approximately 20-30 minutes, stirring occasionally, until potatoes are fork-tender.
Mash the potatoes. Use a potato masher to mash approximately 40% of the cooked potatoes directly in the pot, leaving the remaining potatoes chunky.
Thicken if desired. Mix cornstarch with cold water until smooth. Slowly stir into the gently simmering soup. Cook for another 1–2 minutes until thickened. Skip this step if the soup is already thick enough.
Season and serve. Taste and add salt if needed. Turn off the heat and ladle into bowls. Garnish with shredded cheddar cheese, sour cream, crispy bacon, and chopped green onions. Serve warm.