You don’t want to slow cook it, so no dutch oven or crockpot. How big is the joint? Topside may not have the marbled fat ideal for a rich roast, but it’s doable.
Fill the bottom of a roasting tray with roughly chopped veg (carrots, celery, onion, plus a few cloves of garlic, some parsley and fresh sprigs of rosemary if you have it), drizzle this lot with a little oil and season with salt and pepper. This is going to help flavour your gravy.
Sit the joint on top, liberally seasoned with salt and pepper and drizzled with oil. Don’t cover with foil or anything as you want the outside to crisp up - that’s where you’ll get the lovely roast flavour. Roast on a very high heat for 20-30 mins (depends on size of joint), then turn the oven down to a medium heat and roast for the following times:
15 minutes per pound for rare
20 minutes per pound for medium rare
25 for medium, etc
It’s helpful if you have a meat thermometer: 120F = rare, 140F = medium, for example.
Take out and leave the meat to rest on a plate under some foil while you prepare the gravy. This rest is important, as the meat relaxes and becomes more tender. Rest for 20-30 mins.
For the gravy, you’ll need some boiling water, plain flour, red wine and perhaps a beef stock cube.
Spoon out the fat from the roasting tray, leaving any meat juices. If you’re lacking in meat juices because your cut was too lean in fat, then add a stock cube. On a low heat, whisk in a tablespoon of flour. When it bubbles, add a small glass of wine and let it cook for a few minutes. Then add some boiling water and let it cook through until you have a nice gravy consistency. Strain the gravy to remove the roasted vegetables and you’re done.