契丹族的辽国被女真族的金国侵犯,辽国以归还宋朝原燕云十六州的土地为筹码向宋朝求援,皇帝下诏书命种师道只接受归还的燕云之地,并不派兵救援。王庶对种师道说:“我朝与辽国和平相处已有百年之久了,看着辽国败亡而不救他,却接收他们归还的土地,这不是为下一步女真人侵我大宋留下口实了吗?”他的真知灼见,朝廷并未采纳。在宋徽宗宣和七年(1125年),金人果然入寇宋朝。当时,太宰李邦彦晚上召见王庶,征求对策。王庶说:“有丰富经验的老将首推种师道,而且周边国家也畏服他,应该派他率西部兵将增援边疆。”李邦彦又用此话征求蔡攸意见,蔡攸并不赞同。王庶见意见不用,要求离开,朝廷派王庶为陕西转运司通判兼制置解盐的事务。
准备抗金
原来,河东经略制置使王燮暗中已经回归朝廷,东京留守宗泽按照朝廷的意见授王庶为陕西制置使。适逢皇帝又命谢亮作为使者西入潼关。王庶写信给谢亮说:“西夏的边患小而缓,金人之患大而紧迫。到了秋季草旺马肥时必然大举侵犯,请您就持使节号召各军积极行动,将其逐过黄河,再寻找机会恢复我们失地。”这也是切合当时实际情况的良策,谢亮不是不听,而是无能力号召各军。到了秋季,金兵大举进犯,王庶调兵沿黄河到冯翊之间据险固守。
接连失地
没想到,严寒早到,黄河一夜之间结了冰,金人乘机渡过黄河,侵犯晋宁、丹州(今陕西省宜川县),又渡过清水河,攻破潼关,秦、陇一带人心惶惶。王庶传檄各路军兵,拟定时间共同讨伐金兵。泾原统制曲端平时就不服从王庶领导,以未接到朝廷的命令来推辞;过了几天,朝廷下了命令,但他又以其他原因推辞。金人探知曲端与王庶不和,于是合兵侵犯富州、延州。王庶当时在坊州,闻讯立即连夜赶路,想在鄜、延两州组织兵力阻止金兵的侵犯。金人并未直接攻打延安,而绕道攻陷了丹州(今陕西省宜川县)。丹州在鄜、延之间,王庶只能亲往延州防守其中一路。王庶多次督促统率泾原精兵强将的曲端进兵救援,但曲端却按兵不动,金人遂又移军攻陷了延州。
军中斗争
当时,王庶闻知延州受金兵围攻已到了十分危急的时候,亲自收集各路散兵游勇去增援;观察使王燮也将自己的部属发往兴元。王庶赶到甘泉时,延州已经失守。既然已经无所归附,就把自带的军队交付王燮,仅带百余骑赶到襄乐(今甘肃宁县),既是慰劳其他驻军,又想依靠曲端帮助自己。王庶到了曲端的驻地,曲端命令王庶每进一门要减少从骑一半,到了曲端的军帐之下仅剩几名卫兵。曲端坐在帐内严厉追问延州失守的情况,最后带着嘲弄的口吻问:“节制,你只知爱你的身家性命,怎么不知道爱护天子的城池?你平安地回来了,而延州城呢?”王庶冷笑着回答:“我多次命令你救援延州,你怕死不服从,这能说明你不爱自己的身家性命?”曲端见被问住,勃然大怒,阴谋在军中杀死王庶而夺取兵权。但他感到自己势单力薄,连夜去宁州,见到谢亮说:“延州是五路的咽喉,给丢失了。《春秋》上说,‘大夫出疆域之外,可以自主决定事情。’请你协助我,诛杀王庶。”谢亮说:“做什么事情都要有上面的指令,我们作为朝廷的大臣,擅自在外面诛杀大臣,这是跋扈的行为,我不敢这样做,你自己去干吧!”曲端碰了一鼻子灰,沮丧而归。又气恨不过,乃夺取王庶的节制使印信,并拘留了他的下属。这时,皇帝下诏书命王庶回京防守。王庶赶回京城后,首先向朝廷自我检讨了失掉延州的罪责,朝廷也未追究其责任。这时,王庶的母亲去世。
再谏无果
自从张浚从富平败归,想起当初王庶及曲端的有些建言合理可用,乃一并召见他们。王庶居地离得近,首先赶到。他向张浚极力陈述安抚陕西保障四川的策略,劝说张浚收集熙河、秦凤的兵马,扼守关中、陇右,以作下一步攻金的打算,张浚不愿采纳。王庶见良策不用,要求回家为母亲守三年丧,也不允,只授于参议官令他在帐下听用。后来张浚想起曲端与王庶犹如二虎,同放在帐下必然互不相容,在曲端未到之前,又改派王庶去驻守恭州。临走前,王庶对张浚说:“曲端有反叛之心。”张浚也畏惧曲端善得文人之心,就萌生了杀曲端的念头。