Heat the olive oil over medium heat in large stock pot or Dutch oven. Add the onion and beet stems or celery and sauté until softened, 5 to 10 minutes. Add the tomato paste, garlic, caraway seeds, bay leaf, thyme, salt and pepper and stir for 1 minute.
Add the potatoes, carrots, beets and cabbage. Pour in enough water or broth to just cover the vegetables, between 6 and 8 cups. Bring to a boil, then turn the heat to medium-low and simmer partially covered until the potatoes, carrots and beets are tender, 15 to 20 minutes.
Stir in beet greens and lemon juice or vinegar to taste. Cook for another minute.
Gently crack the eggs directly onto the top of the borscht, spaced evenly. Cover the skillet and cook until the eggs are just set, 7 to 10 minutes.
Serve immediately with pita bread.