Cook the Ground Beef: In a large pot or Dutch oven, warm 1 tablespoon of olive oil or butter over medium heat. Add the ground beef, using a spoon to break it apart as it cooks until browned and fully cooked. Drain any excess fat and set the beef aside.
Sauté the Onions and Garlic: In the same pot, add the remaining tablespoon of olive oil or butter. Incorporate the diced onion and sauté for 4 to 5 minutes until it becomes tender. Then, add the minced garlic and cook for an additional 1 to 2 minutes until it is aromatic.
Add the Potatoes and Broth: Add the diced potatoes to the pot along with the beef broth. Bring the mixture to a boil, then reduce the heat and let it simmer for 15-20 minutes, or until the potatoes are tender when pierced with a fork.
Blend the Soup (Optional): For a creamier texture, you can use an immersion blender to blend a portion of the soup directly in the pot, or transfer about 1 cup of the soup to a blender and puree until smooth.
Add the Milk and Cheese: Continue to cook over low heat, stirring frequently, until the cheese is melted and the soup is creamy and well combined. Do not let the soup boil after adding the milk to avoid curdling.
Season the Soup: Add the dried thyme, paprika, and season with salt and pepper to taste. Adjust the seasonings as needed.
Return the Ground Beef: Add the cooked ground beef back into the pot and stir to combine. Let the soup simmer for another 5 minutes to meld the flavors.
Serve: Ladle the soup into bowls and garnish with chopped green onions or parsley for a fresh touch. Serve hot with crusty bread or a side salad.