Just once try the 'low and slow' method. 200 F max heat. The low temp allows the entire roast to cook at a more even temp. throughout. To exaggerate the point imagine a roast in an oven at 500 F. The interior is not ever going to get a chance to cook at the same temp as the meat nearer the exterior of the roast leaving what we often see: The exterior is 'well done', the middle is 'medium' and the center is 'rare'. This goes for anything you roast. Beef pork, birds.
Sear the roast first to brown the outside. Finished internal temp. about 140 F. Remove from oven. Tent lightly for about half an hour depending on the size of the roast. Finished temp. will be about 145 F. I promise you you'll never go back to roasting anything in an oven higher than 200 F. The time takes longer but the results are well worth it. "Lots of onions" sounds delicious. What type of onions do you use?