Preheat oven to 325 degrees.
Season all sides of the ribs generously with salt and pepper.
In a dutch oven over medium-high heat, heat the oil. Add ribs until brown on all sides, then move to a plate.
Turn the heat down to medium and add the onion and garlic. Cook, stirring for 1 minute, then add the ribs back to the pot. Add the carrots, rice vinegar, sugar, fish sauce and five spice seasoning.
Add beef stock, just enough to barely cover the vegetables. Bring to a simmer, cover and place in the over.
Cook 2 1/2 to 3 hours, until the beef is fork-tender. 1 to 1/2 hours into cooking, add potatoes, if desired.
Remove the ribs and carrots and place on a serving platter. Cover with foil to retain warmth.
Strain liquid and skim off fat. Into a saucepan over medium-high heat, pour liquid to reduce slightly. Pour over the ribs and garnish with cilantro, mint and Thai basil. Serve warm.