In a large pot or Dutch oven, heat the vegetable oil over medium-high heat. Add the beef and cook, stirring occasionally, until browned on all sides. Remove the beef using a slotted spoon and set aside.
In the same pot, add the chopped onions and cook until softened and translucent, about 5-7 minutes. Add the garlic and cook for an additional 1-2 minutes.
Stir in the paprika, caraway seeds, and bay leaf, and cook for 1 minute, taking care not to burn the spices.
Return the browned beef to the pot, along with the chopped bell peppers, carrots, potatoes, diced tomatoes, and beef broth. Season with salt and pepper to taste.
Bring the mixture to a boil, then reduce the heat to low. Cover and simmer for 1.5 to 2 hours, or until the meat is tender and the vegetables are cooked through.
If desired, thicken the goulash by combining the all-purpose flour and water in a small bowl to create a slurry. Stir the slurry into the goulash and simmer for an additional 5-10 minutes, or until the desired thickness is reached.
Remove the bay leaf and discard. Taste and adjust seasoning as needed.
Serve the goulash hot, garnished with chopped fresh parsley, alongside your choice of side dishes.