In a large pot, add the beef or pork chunks and cover with water. Bring to a boil, then reduce the heat and let it simmer for about 1-1.5 hours, or until the meat is tender. Skim off any foam that rises to the surface.
Remove the meat from the pot, strain the broth, and set the meat and broth aside.
In a large pot, heat the vegetable oil over medium heat. Add the finely chopped onion and sauté until golden brown.
Add the grated beets and carrots to the pot. Cook for about 5 minutes, stirring occasionally.
Stir in the tomato paste and cook for another 2 minutes.
Add the chopped tomato, minced garlic, vinegar or lemon juice, and sugar. Cook for another 5 minutes, until the vegetables are tender.
Add the beef or vegetable broth to the pot with the vegetables. Bring to a boil.
Add the diced potatoes and cook for about 10 minutes, or until the potatoes are tender.
Add the shredded cabbage and cook for another 5-7 minutes, until the cabbage is tender.
If using, add the cooked meat back into the pot. Season with salt and pepper to taste.
Ladle the borscht into bowls.
Garnish with fresh chopped dill and a dollop of sour cream.
Enjoy your meal!