In a large pot or Dutch oven, add the olive oil and heat on medium. Once warm, add the onions and cook for 2-3 minutes until they're soft and translucent.
Add in the garlic and cook for 2 minutes. Stir continuously to prevent the garlic from burning.
Add in the beets and the potatoes and stir to mix everything.
Add in the broth. You want to add just enough to cover the beet mixture so you might not end up using all 4 cups depending on the size of the beets.
Bring the mixture to a boil on high heat and then reduce the heat to low/medium for 30 minutes. Make sure the potatoes and beets are soft enough to be pierced with a fork.
Next, turn off the heat and use an immersion blender to puree the soup. Work through it multiple times if you need to to make sure everything is well-blended.
Let the soup cool some and then add the salt and pepper. You'll be able to season it better when it isn't as hot on your tongue. Season with additional salt and pepper as needed.
Serve at the medium heat with creme fraiche, parsley and/or goat cheese.