A good speedo shop can make you a new cable from a sample. Be careful buying an inner and out cable together. These often do not have the extension on the nut to make it not as hard to screw on to the speedo.
If the cable is broken, try to locate the cable stub that broke off. It may be in the speedo itself. Installing a new cable without removing it will cause it to break again. It will also cause problems screwing up the nut, as you are trying to compress the new cable against the cable stub.
Make sure the speedo spins freely. They can be overhauled, or find a good used one. They can be overhauled if needed.
Make sure the speed cable is well greased. Make sure that any curves in the run to speedo have as large a diameter as possible. Kinks cause it to catch and then to fail.
Smiths Speedo Angle Drive for MGB & Triumph TR Austin Healey, 021-511 or 120694 | eBay
NOS Smiths Rover 3500 S 2200 TC Speedometer Angle Drive -BG 2410/10 -New | eBay
For the angle drive that is up on the speedo there are a few variations of these. Any 2410 drive can be modified to what you need by undoing the two screws on the plate on it, and swapping it for the one that you have on your old angle drive.
For the drive on the gearbox there is an adapter that goes on the gearbox. Make sure that is has not been lost. If the drive is just sitting on top of the transmission then it will break the cable stub.
When you have gone through all this, and you still cannot get it to work right, buy a GPS and use that as a speedo. In any case it is not a bad idea to have a gps for when you get problems. In my experience the speedos on automatic cars are more troublesome as they have an extra failure point, being the angle drive on the transmisson.