Preheat your oven to 350 degrees F to ensure even cooking throughout.
Add the oil to a large Dutch oven or lidded, oven-proof pot over medium-high heat. Season both sides of your roast liberally with salt and pepper and coat evenly with flour. Place the roast into the pan and sear the meat on both sides until a brown crust forms; about 5 minutes per side. Transfer the roast to a platter or tray and set aside.
Lower the heat to medium-low and add the broth, coconut milk, soy sauce, curry paste, ginger, garlic, sugar, and fish sauce to the pot. Stir to mix well so that all ingredients are combined.
Gently place the beef back into the pan, cover with a lid, and transfer it to your preheated oven to roast for 2 hours until tender.
After two hours, carefully remove the roast from the oven and transfer it to a sheet pan/tray while skimming some fat from the sauce if desired. Using two forks, shred the meat into chunks and bite-sized pieces before sliding these back into their juices in the pot.
Add sliced onion (and peppers if using) into the pot; allow resting for about 5 minutes before serving so veggies soften slightly while retaining crunch against tender beef. Serve in bowls over rice or noodles with extra drippings on side if desired!