Heat 2 tablespoons of oil in a large, heavy-bottomed pot or Dutch oven over medium-high heat. Add the beef cubes in batches to avoid overcrowding. Sear until browned on all sides. Remove the beef from the pot and set aside.
In the same pot, add a bit more oil if necessary. Add the chopped onions and sauté until they are soft and translucent, about 5-7 minutes. Stir in the minced garlic and cook for an additional 1 minute.
Remove the pot from heat to prevent the paprika from burning. Stir in the sweet paprika, hot paprika (if using), and caraway seeds. Mix well to coat the onions.
Return the seared beef to the pot with the onions. Stir in the tomato paste. Season with salt and black pepper to taste.
Pour in the beef broth until the meat is just covered. Return the pot to medium heat and bring to a boil. Reduce the heat to low, cover, and let it simmer gently for 1 hour, stirring occasionally.
After 1 hour, add the sliced carrots, diced potatoes, and chopped red bell pepper to the pot. If needed, add more broth or water to cover the ingredients. Continue to simmer, covered, for another 30-45 minutes, or until the beef and vegetables are tender.
Taste the goulash and adjust the seasoning with more salt, pepper, or paprika as needed. Garnish with chopped fresh parsley. Serve hot, optionally topped with a dollop of sour cream.