In a large soup pot, heat olive oil over medium heat. Add diced onion and minced garlic. Cook for 3 to 4 minutes until softened and fragrant.
Add ground beef and cook until browned, breaking it into crumbles as it cooks. Drain excess fat.
Stir in diced potatoes and chicken broth. Bring to a boil, then reduce heat and simmer for 15 to 20 minutes, or until the potatoes are fork-tender.
Pour in the milk and heavy cream. Stir gently and allow the mixture to heat through without bringing it to a boil.
Gradually add shredded cheddar cheese while stirring continuously until melted and the soup is smooth and creamy.
Season with salt and pepper to taste. Let the soup simmer for another 5 to 10 minutes to allow flavors to meld.
Serve hot, garnished with extra cheese, crispy bacon, or green onions if desired.