Cook the Potatoes
Place diced potatoes in a pot and cover with water. Add a pinch of salt.
Bring to a boil and cook for 10–12 minutes until fork-tender. Drain and set aside. Don’t overcook unless you’re aiming for mashed soup.
Build the Flavor Base
In a large pot, melt butter over medium heat. Add chopped onion and cook until soft and translucent, about 4–5 minutes.
Stir in garlic and cook for 30 seconds. It should smell amazing. If it smells burnt, we need to talk.
Make It Creamy
Sprinkle flour over the onion mixture. Stir constantly for about one minute. This forms your thickening base.
Slowly pour in the chicken broth while whisking. Then add milk and cream. Keep stirring to avoid lumps.
Bring It Together
Let the soup simmer for about 5–7 minutes until it thickens slightly.
Add the cooked potatoes, black pepper, paprika, and salt. Stir gently. Mash some potatoes lightly with a spoon if you want a thicker texture. Chunky but creamy is the goal.
Add the Cheese (The Best Part)
Lower the heat and stir in shredded cheddar cheese.
Keep stirring until melted and smooth. Taste and adjust seasoning. Add more cheese if you’re feeling rebellious.
Final Simmer
Let everything simmer gently for another 5 minutes.
Stir occasionally. Don’t let it boil aggressively—cream-based soups prefer calm energy.