Depends on the day and month. Tomorrow there are 9 trains from Madrid to Zamora. You do need to reserve seats in the long-distance trains and they can sell out in peak periods. I would book well ahead if possible. It is also likely to be cheaper to book well in advance. I find the Trainline website or app easier to use than the RENFE website.
Had the same dilemma, currently on the Sanabres!
Arrived Madrid Barajas Airport Saturday morning!
I had to go via this route, as
the cheap Renfe Madrid to Zamora train was sold out and the next option was too expensive! I think Avanza bus, leaves directly from the airport, but my flight arrived at the same time!
Zamora is best option to transfer to Granja!
My route went:
Madrid to Leon, ALSA bus, cheap but
slow, (pre book on app)
Leon to benevente, ( local bus company, €8)
Benevente to granja (same company, you switch to a mini bus)
It was a long day, if you can get to Zamora, it’s only about 30 mins!