Cook bacon until crisp using your preferred method. Crumble and set aside.
Place diced potatoes in a medium pot. Cover with cold water, salt generously, and bring to a boil. Once at a boil, cook for 6 to 10 minutes more, until potatoes are just fork tender.
Drain and allow to cool for at least 10 minutes.
While potatoes are cooling, mix yogurt, mayonnaise, salt, and pepper, and roughly 2/3 of the cheese, onions, and bacon (reserve the other 1/3 of each for topping).
Once potatoes are slightly cooled, gently mix with yogurt mixture. Top with the remaining cheese, onions, and bacon. Serve warm or refrigerate and serve chilled.