Preheat your oven to 325°F (163°C).
In a medium bowl, combine the cranberries, balsamic vinegar, brown sugar, soy sauce, Dijon mustard, garlic powder, onion powder, black pepper, and salt. Mix well to create the marinade.
Heat olive oil in a large oven-safe skillet over medium-high heat. Sear the beef roast on all sides until browned, about 3-4 minutes per side.
Remove the beef from the skillet and set aside. In the same skillet, add the sliced onion and sauté until softened, about 3-5 minutes.
Return the beef to the skillet and pour the cranberry balsamic marinade over the top. Add the beef broth to the skillet.
Cover the skillet with a lid or aluminum foil and transfer it to the preheated oven. Roast for 2 to 3 hours, or until the beef is tender and reaches your desired doneness.
Once cooked, remove the roast from the oven and let it rest for 10-15 minutes before slicing. Serve with the pan juices drizzled over the top.