In a large pot, melt the olive oil and butter over medium heat. Add the onion and cook for 10-12 minutes, stirring occasionally, until softened and lightly caramelized.
Add the potato and sliced garlic, then season with the marjoram, caraway seeds, salt, and black pepper. Continue to sauté for 5-7 minutes, stirring frequently, until the garlic is fragrant and has taken on a slightly golden colour. Be careful not to let it burn.
Preheat the oven to 400°F.
Deglaze the pot with the white wine, scraping up any browned bits from the bottom. Simmer until the wine has reduced by about half. Add the stock and bay leaves, then increase the heat to high and bring to a bubble. Reduce the heat to medium-low and simmer, partially covered, for 20 minutes.
Meanwhile, add the bread cubes to a parchment-lined baking sheet. Drizzle with olive oil, season with a pinch of salt, and toss to combine. Bake for about 10 minutes, stirring halfway through, or until golden and crisp.
Remove and discard the bay leaves. Ladle the soup into oven-safe bowls and top with the croutons and shredded cheese. Place under the broiler for 2-3 minutes, or until the cheese is melted and a bit golden on top.
Garnish with parsley or chives and serve immediately.